[pytango] 79/483: first attempt at precompiled headers on both windows and linux

Sandor Bodo-Merle sbodomerle-guest at moszumanska.debian.org
Thu Sep 28 19:14:26 UTC 2017


This is an automated email from the git hooks/post-receive script.

sbodomerle-guest pushed a commit to annotated tag bliss_8.10
in repository pytango.

commit bb40b0119d90e55d7b3a911650d84c02b7cdf71c
Author: tiagocoutinho <tiagocoutinho at 4e9c00fd-8f2e-0410-aa12-93ce3db5e235>
Date:   Fri Dec 2 18:57:03 2011 +0000

    first attempt at precompiled headers on both windows and linux
    
    git-svn-id: http://svn.code.sf.net/p/tango-cs/code/bindings/PyTango/trunk@18560 4e9c00fd-8f2e-0410-aa12-93ce3db5e235
---
 setup.py                                      |   8 +-
 src/api_util.cpp                              |   4 +-
 src/archive_event_info.cpp                    |   2 +-
 src/attr_conf_event_data.cpp                  |   2 +-
 src/attribute_alarm_info.cpp                  |   2 +-
 src/attribute_dimension.cpp                   |   2 +-
 src/attribute_event_info.cpp                  |   2 +-
 src/attribute_info.cpp                        |   2 +-
 src/attribute_info_ex.cpp                     |   2 +-
 src/attribute_proxy.cpp                       |   6 +-
 src/base_types.cpp                            |   6 +-
 src/callback.cpp                              |   3 +-
 src/change_event_info.cpp                     |   2 +-
 src/command_info.cpp                          |   2 +-
 src/connection.cpp                            |   5 +-
 src/constants.cpp                             |   4 +-
 src/data_ready_event_data.cpp                 |   2 +-
 src/database.cpp                              |   6 +-
 src/db.cpp                                    |   4 +-
 src/dev_command_info.cpp                      |   2 +-
 src/dev_error.cpp                             |   2 +-
 src/device_attribute.cpp                      |  21 +-
 src/device_attribute_config.cpp               |   2 +-
 src/device_attribute_history.cpp              |   2 +-
 src/device_data.cpp                           |   7 +-
 src/device_data_history.cpp                   |   2 +-
 src/device_info.cpp                           |   2 +-
 src/device_proxy.cpp                          |   8 +-
 src/enums.cpp                                 |   2 +-
 src/event_data.cpp                            |   2 +-
 src/exception.cpp                             |   7 +-
 src/from_py.cpp                               |   1 +
 src/group.cpp                                 |   7 +-
 src/group_element.cpp                         |   6 +-
 src/group_reply.cpp                           |   6 +-
 src/group_reply_list.cpp                      |   6 +-
 src/locker_info.cpp                           |   2 +-
 src/locking_thread.cpp                        |   2 +-
 src/periodic_event_info.cpp                   |   2 +-
 src/poll_device.cpp                           |   2 +-
 src/{pytgutils.cpp => precompiled_header.cpp} |   9 +-
 src/precompiled_header.hpp                    |  20 +-
 src/pytango.cpp                               |   6 +-
 src/pytgutils.cpp                             |   4 +-
 src/pyutils.cpp                               |   3 +-
 src/server/attr.cpp                           |   4 +-
 src/server/attribute.cpp                      |   6 +-
 src/server/command.cpp                        |   5 +-
 src/server/device_class.cpp                   |   3 +-
 src/server/device_impl.cpp                    |   6 +-
 src/server/dserver.cpp                        |   3 +-
 src/server/encoded_attribute.cpp              |   4 +-
 src/server/log4tango.cpp                      |   4 +-
 src/server/multi_attribute.cpp                |   4 +-
 src/server/multi_class_attribute.cpp          |   2 +-
 src/server/subdev.cpp                         |   2 +-
 src/server/tango_util.cpp                     |   6 +-
 src/server/user_default_attr_prop.cpp         |   2 +-
 src/server/wattribute.cpp                     |   6 +-
 src/time_val.cpp                              |   2 +-
 src/to_py.cpp                                 |   3 +-
 src/version.cpp                               |   2 +-
 win/PyTango_VS8/PyTango.sln                   |  20 +
 win/PyTango_VS8/PyTango.vcproj                | 555 +++++++++++++++++++++
 win/PyTango_VS9/PyTango.sln                   |  26 +
 win/PyTango_VS9/PyTango.vcproj                | 686 ++++++++++++++++++++++++++
 winsetup.py                                   |  35 ++
 67 files changed, 1416 insertions(+), 171 deletions(-)

diff --git a/setup.py b/setup.py
index e342629..56598b7 100644
--- a/setup.py
+++ b/setup.py
@@ -421,10 +421,12 @@ def main():
 
     include_dirs = uniquify(include_dirs)
     library_dirs = uniquify(library_dirs)
-
-    _clientfiles = [ os.path.join('src',fname) for fname in os.listdir('src') if fname.endswith('.cpp') ]
+    src_dir = abspath('src')
+    client_dir = src_dir
+    server_dir = os.path.join(src_dir, 'server')
+    _clientfiles = [ os.path.join(client_dir,fname) for fname in os.listdir(client_dir) if fname.endswith('.cpp') ]
     _clientfiles.sort()
-    _serverfiles = [ os.path.join('src','server',fname) for fname in os.listdir(os.path.join('src','server')) if fname.endswith('.cpp') ]
+    _serverfiles = [ os.path.join(server_dir,fname) for fname in os.listdir(server_dir) if fname.endswith('.cpp') ]
     _serverfiles.sort()
     _cppfiles = _clientfiles + _serverfiles
     
diff --git a/src/api_util.cpp b/src/api_util.cpp
index ee312df..6954487 100644
--- a/src/api_util.cpp
+++ b/src/api_util.cpp
@@ -21,10 +21,8 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-#include <boost/python/return_value_policy.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
-
 #include "pyutils.h"
 
 using namespace boost::python;
diff --git a/src/archive_event_info.cpp b/src/archive_event_info.cpp
index e66de5b..675f358 100644
--- a/src/archive_event_info.cpp
+++ b/src/archive_event_info.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/attr_conf_event_data.cpp b/src/attr_conf_event_data.cpp
index d54d2fb..c3441f1 100644
--- a/src/attr_conf_event_data.cpp
+++ b/src/attr_conf_event_data.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/attribute_alarm_info.cpp b/src/attribute_alarm_info.cpp
index 975c60e..48e182f 100644
--- a/src/attribute_alarm_info.cpp
+++ b/src/attribute_alarm_info.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/attribute_dimension.cpp b/src/attribute_dimension.cpp
index fb61e38..cfc123a 100644
--- a/src/attribute_dimension.cpp
+++ b/src/attribute_dimension.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/attribute_event_info.cpp b/src/attribute_event_info.cpp
index 88b0968..b617f8c 100644
--- a/src/attribute_event_info.cpp
+++ b/src/attribute_event_info.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/attribute_info.cpp b/src/attribute_info.cpp
index 5239bae..d9d9f18 100644
--- a/src/attribute_info.cpp
+++ b/src/attribute_info.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/attribute_info_ex.cpp b/src/attribute_info_ex.cpp
index a3a6d77..eab4c13 100644
--- a/src/attribute_info_ex.cpp
+++ b/src/attribute_info_ex.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/attribute_proxy.cpp b/src/attribute_proxy.cpp
index 8cd70d8..e708f46 100644
--- a/src/attribute_proxy.cpp
+++ b/src/attribute_proxy.cpp
@@ -21,11 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-#include <boost/python/return_value_policy.hpp>
-#include <tango.h>
-#include <string>
-
+#include "precompiled_header.hpp"
 #include "defs.h"
 #include "pytgutils.h"
 
diff --git a/src/base_types.cpp b/src/base_types.cpp
index 797d64c..7bf2839 100644
--- a/src/base_types.cpp
+++ b/src/base_types.cpp
@@ -21,13 +21,9 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
-#include <tango.h>
-
+#include "precompiled_header.hpp"
 #include "defs.h"
 #include "pytgutils.h"
-
 #include "fast_from_py.h"
 #include "base_types_numpy.hpp"
 
diff --git a/src/callback.cpp b/src/callback.cpp
index b91fe90..486d363 100644
--- a/src/callback.cpp
+++ b/src/callback.cpp
@@ -21,8 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-#include <tango.h>
+#include "precompiled_header.hpp"
 #include "pytgutils.h"
 #include "callback.h"
 #include "device_attribute.h"
diff --git a/src/change_event_info.cpp b/src/change_event_info.cpp
index 5ebb78c..261355b 100644
--- a/src/change_event_info.cpp
+++ b/src/change_event_info.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/command_info.cpp b/src/command_info.cpp
index 0d6f69f..a912fbd 100644
--- a/src/command_info.cpp
+++ b/src/command_info.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/connection.cpp b/src/connection.cpp
index b2289a4..2317801 100644
--- a/src/connection.cpp
+++ b/src/connection.cpp
@@ -21,10 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python/copy_const_reference.hpp>
-#include <boost/python/copy_non_const_reference.hpp>
-#include <tango.h>
-
+#include "precompiled_header.hpp"
 #include "pytgutils.h"
 #include "callback.h"
 
diff --git a/src/constants.cpp b/src/constants.cpp
index 47132be..cf31f66 100644
--- a/src/constants.cpp
+++ b/src/constants.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
@@ -48,7 +48,7 @@ void export_constants()
     long_ major = long_(pylist_TgLibVers[0]);
     long_ minor = long_(pylist_TgLibVers[1]);
     long_ patch = long_(pylist_TgLibVers[2]);
-    object h = "0x%02d%02d%02d00" % make_tuple(major, minor, patch);
+    object h = "0x%02d%02d%02d00" % boost::python::make_tuple(major, minor, patch);
     PyObject *ptr = PyInt_FromString(PyString_AsString(h.ptr()), NULL, 0);
     TANGO_VERSION_HEX = PyInt_AsLong(ptr);
     Py_DECREF(ptr);
diff --git a/src/data_ready_event_data.cpp b/src/data_ready_event_data.cpp
index 05aaf56..047770d 100644
--- a/src/data_ready_event_data.cpp
+++ b/src/data_ready_event_data.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/database.cpp b/src/database.cpp
index dc548c9..d8edef7 100644
--- a/src/database.cpp
+++ b/src/database.cpp
@@ -21,11 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-#include <boost/python/return_value_policy.hpp>
-#include <tango.h>
-#include <string>
-
+#include "precompiled_header.hpp"
 #include "defs.h"
 #include "pytgutils.h"
 
diff --git a/src/db.cpp b/src/db.cpp
index 3d9769c..fcf2b44 100644
--- a/src/db.cpp
+++ b/src/db.cpp
@@ -21,9 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-#include <tango.h>
-
+#include "precompiled_header.hpp"
 #include "defs.h"
 #include "pytgutils.h"
 
diff --git a/src/dev_command_info.cpp b/src/dev_command_info.cpp
index 4b9c9af..91d3c11 100644
--- a/src/dev_command_info.cpp
+++ b/src/dev_command_info.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/dev_error.cpp b/src/dev_error.cpp
index bfd8697..1fb80e2 100644
--- a/src/dev_error.cpp
+++ b/src/dev_error.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/device_attribute.cpp b/src/device_attribute.cpp
index 8094a40..d322c8c 100644
--- a/src/device_attribute.cpp
+++ b/src/device_attribute.cpp
@@ -21,15 +21,8 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-#include <boost/python/handle.hpp>
-#include <tango.h>
-#include <iostream>
-#include <string>
-#include <memory>
-
+#include "precompiled_header.hpp"
 #include "device_attribute.h"
-
 #include "pytgutils.h"
 #include "tango_numpy.h"
 #include "fast_from_py.h"
@@ -132,19 +125,19 @@ namespace PyDeviceAttribute {
         str encoded_data((const char*)buffer[0].encoded_data.get_buffer(),
                           buffer[0].encoded_data.length());
         
-        py_value.attr(value_attr_name) = make_tuple(encoded_format, encoded_data);
+		py_value.attr(value_attr_name) = boost::python::make_tuple(encoded_format, encoded_data);
 
         if (self.get_written_dim_x() > 0) {
             bool is_write_type = self.get_written_dim_x() && (value->length() < 2);
             if (is_write_type) {
                 object w_encoded_format(encoded_format);
                 object w_encoded_data(encoded_data);
-                py_value.attr(w_value_attr_name) = make_tuple(w_encoded_format, w_encoded_data);
+                py_value.attr(w_value_attr_name) = boost::python::make_tuple(w_encoded_format, w_encoded_data);
             } else {
                 str w_encoded_format(buffer[1].encoded_format);
                 str w_encoded_data((const char*)buffer[1].encoded_data.get_buffer(),
                                    buffer[1].encoded_data.length());
-                py_value.attr(w_value_attr_name) = make_tuple(w_encoded_format, w_encoded_data);
+                py_value.attr(w_value_attr_name) = boost::python::make_tuple(w_encoded_format, w_encoded_data);
             }
         } else {
             py_value.attr(w_value_attr_name) = object();
@@ -194,14 +187,14 @@ namespace PyDeviceAttribute {
         
         object r_encoded_data = object(handle<>(readArray));
         
-        py_value.attr(value_attr_name) = make_tuple(r_encoded_format, r_encoded_data);
+        py_value.attr(value_attr_name) = boost::python::make_tuple(r_encoded_format, r_encoded_data);
 
         if (self.get_written_dim_x() > 0) {
             bool is_write_type = self.get_written_dim_x() && (value->length() < 2);
             if (is_write_type) {
                 object w_encoded_format(r_encoded_format);
                 object w_encoded_data(r_encoded_data);
-                py_value.attr(w_value_attr_name) = make_tuple(w_encoded_format, w_encoded_data);
+                py_value.attr(w_value_attr_name) = boost::python::make_tuple(w_encoded_format, w_encoded_data);
             } else {
                 str w_encoded_format(buffer[1].encoded_format);
                 
@@ -213,7 +206,7 @@ namespace PyDeviceAttribute {
                 
                 object w_encoded_data = object(handle<>(writeArray));
                 
-                py_value.attr(w_value_attr_name) = make_tuple(w_encoded_format, w_encoded_data);
+                py_value.attr(w_value_attr_name) = boost::python::make_tuple(w_encoded_format, w_encoded_data);
             }
         } else {
             py_value.attr(w_value_attr_name) = object();
diff --git a/src/device_attribute_config.cpp b/src/device_attribute_config.cpp
index 80b20e8..a3fa257 100644
--- a/src/device_attribute_config.cpp
+++ b/src/device_attribute_config.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/device_attribute_history.cpp b/src/device_attribute_history.cpp
index cb53dbe..a86c9ef 100644
--- a/src/device_attribute_history.cpp
+++ b/src/device_attribute_history.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/device_data.cpp b/src/device_data.cpp
index d7a2fd6..9e4845c 100644
--- a/src/device_data.cpp
+++ b/src/device_data.cpp
@@ -21,12 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-#include <boost/mpl/if.hpp>
-#include <tango.h>
-#include <iostream>
-#include <string>
-
+#include "precompiled_header.hpp"
 #include "pytgutils.h"
 #include "fast_from_py.h"
 
diff --git a/src/device_data_history.cpp b/src/device_data_history.cpp
index 1239468..85e9828 100644
--- a/src/device_data_history.cpp
+++ b/src/device_data_history.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/device_info.cpp b/src/device_info.cpp
index 28585e0..2d62892 100644
--- a/src/device_info.cpp
+++ b/src/device_info.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/device_proxy.cpp b/src/device_proxy.cpp
index af255ba..0c82955 100644
--- a/src/device_proxy.cpp
+++ b/src/device_proxy.cpp
@@ -21,15 +21,9 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-#include <boost/python/return_value_policy.hpp>
-#include <tango.h>
-#include <string>
-#include <memory>
-
+#include "precompiled_header.hpp"
 #include "device_attribute.h"
 #include "callback.h"
-
 #include "defs.h"
 #include "pytgutils.h"
 
diff --git a/src/enums.cpp b/src/enums.cpp
index e6e9c22..a82832f 100644
--- a/src/enums.cpp
+++ b/src/enums.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/event_data.cpp b/src/event_data.cpp
index a55455d..834f815 100644
--- a/src/event_data.cpp
+++ b/src/event_data.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/exception.cpp b/src/exception.cpp
index 4969ce2..b1fd337 100644
--- a/src/exception.cpp
+++ b/src/exception.cpp
@@ -21,12 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
-#include <tango.h>
-#include <iostream>
-#include <string>
-
+#include "precompiled_header.hpp"
 #include "pytgutils.h"
 #include "exception.h"
 
diff --git a/src/from_py.cpp b/src/from_py.cpp
index 30ca1db..c0b0728 100644
--- a/src/from_py.cpp
+++ b/src/from_py.cpp
@@ -21,6 +21,7 @@
    
 *******************************************************************************/
 
+#include "precompiled_header.hpp"
 #include "from_py.h"
 
 using namespace boost::python;
diff --git a/src/group.cpp b/src/group.cpp
index d9546b2..b497c8e 100644
--- a/src/group.cpp
+++ b/src/group.cpp
@@ -21,12 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python/copy_const_reference.hpp>
-#include <boost/python/copy_non_const_reference.hpp>
-#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
-#include <tango.h>
-#include <memory>
-
+#include "precompiled_header.hpp"
 #include "pytgutils.h"
 #include "device_attribute.h"
 
diff --git a/src/group_element.cpp b/src/group_element.cpp
index a9f8667..10ad5a4 100644
--- a/src/group_element.cpp
+++ b/src/group_element.cpp
@@ -21,11 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python/copy_const_reference.hpp>
-#include <boost/python/copy_non_const_reference.hpp>
-#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
-#include <tango.h>
-
+#include "precompiled_header.hpp"
 #include "pytgutils.h"
 #include "device_attribute.h"
 
diff --git a/src/group_reply.cpp b/src/group_reply.cpp
index 9b87a5c..49d6684 100644
--- a/src/group_reply.cpp
+++ b/src/group_reply.cpp
@@ -21,11 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python/copy_const_reference.hpp>
-#include <boost/python/copy_non_const_reference.hpp>
-#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
-#include <tango.h>
-
+#include "precompiled_header.hpp"
 #include "pytgutils.h"
 #include "device_attribute.h"
 
diff --git a/src/group_reply_list.cpp b/src/group_reply_list.cpp
index 8891fd0..63d2da5 100644
--- a/src/group_reply_list.cpp
+++ b/src/group_reply_list.cpp
@@ -21,11 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python/copy_const_reference.hpp>
-#include <boost/python/copy_non_const_reference.hpp>
-#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
-#include <tango.h>
-
+#include "precompiled_header.hpp"
 #include "pytgutils.h"
 #include "device_attribute.h"
 
diff --git a/src/locker_info.cpp b/src/locker_info.cpp
index 6fd601b..a2d998c 100644
--- a/src/locker_info.cpp
+++ b/src/locker_info.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/locking_thread.cpp b/src/locking_thread.cpp
index 6305db1..aced19b 100644
--- a/src/locking_thread.cpp
+++ b/src/locking_thread.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/periodic_event_info.cpp b/src/periodic_event_info.cpp
index 3d4848d..15b4c69 100644
--- a/src/periodic_event_info.cpp
+++ b/src/periodic_event_info.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/poll_device.cpp b/src/poll_device.cpp
index 3e8a8ad..8c96fa2 100644
--- a/src/poll_device.cpp
+++ b/src/poll_device.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/pytgutils.cpp b/src/precompiled_header.cpp
similarity index 89%
copy from src/pytgutils.cpp
copy to src/precompiled_header.cpp
index 3f8ec13..dfb1220 100644
--- a/src/pytgutils.cpp
+++ b/src/precompiled_header.cpp
@@ -21,11 +21,4 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-#include <tango.h>
-
-#include "defs.h"
-#include "pytgutils.h"
-
-using namespace boost::python;
-
+#include "precompiled_header.hpp"
\ No newline at end of file
diff --git a/src/precompiled_header.hpp b/src/precompiled_header.hpp
index b7c52f2..cad5329 100644
--- a/src/precompiled_header.hpp
+++ b/src/precompiled_header.hpp
@@ -21,9 +21,27 @@
    
 *******************************************************************************/
 
+#pragma once
+
 // These files are really basic, used everywere within the project
 // but they take a while (seconds!) to process.
 // We don't want to waste those seconds for each cpp file, so we
 // use this precompiled header.
+
+
 #include <boost/python.hpp>
-#include <tango/tango.h>
+#include <boost/version.hpp>
+#include <boost/python/copy_const_reference.hpp>
+#include <boost/python/copy_non_const_reference.hpp>
+#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
+#include <boost/python/return_value_policy.hpp>
+#include <boost/python/handle.hpp>
+#include <boost/mpl/if.hpp>
+#include <cassert>
+#include <iostream>
+#include <string>
+#include <sstream>
+#include <memory>
+
+//#include <tango.h>
+
diff --git a/src/pytango.cpp b/src/pytango.cpp
index 1afa273..f3b2544 100644
--- a/src/pytango.cpp
+++ b/src/pytango.cpp
@@ -21,8 +21,8 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-#include <boost/version.hpp>
+#include "precompiled_header.hpp"
+
 #if BOOST_VERSION < 103400
 #define DISABLE_BOOST_DOCSTRING_OPTIONS
 #endif
@@ -33,8 +33,6 @@
 #endif
 
 #include <tango.h>
-#include <iostream>
-#include <string>
 
 using namespace boost::python;
 
diff --git a/src/pytgutils.cpp b/src/pytgutils.cpp
index 3f8ec13..66910eb 100644
--- a/src/pytgutils.cpp
+++ b/src/pytgutils.cpp
@@ -21,9 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-#include <tango.h>
-
+#include "precompiled_header.hpp"
 #include "defs.h"
 #include "pytgutils.h"
 
diff --git a/src/pyutils.cpp b/src/pyutils.cpp
index 4cd44c3..cfffc9c 100644
--- a/src/pyutils.cpp
+++ b/src/pyutils.cpp
@@ -21,8 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-
+#include "precompiled_header.hpp"
 #include "defs.h"
 #include "pyutils.h"
 
diff --git a/src/server/attr.cpp b/src/server/attr.cpp
index 9d8f8aa..f1d6055 100644
--- a/src/server/attr.cpp
+++ b/src/server/attr.cpp
@@ -21,9 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-#include <tango.h>
-
+#include "precompiled_header.hpp"
 #include "server/attr.h"
 
 using namespace boost::python;
diff --git a/src/server/attribute.cpp b/src/server/attribute.cpp
index d7f463d..8bcc73b 100644
--- a/src/server/attribute.cpp
+++ b/src/server/attribute.cpp
@@ -21,11 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-#include <boost/python/return_value_policy.hpp>
-#include <string>
-#include <tango.h>
-
+#include "precompiled_header.hpp"
 #include "defs.h"
 #include "pytgutils.h"
 #include "attribute.h"
diff --git a/src/server/command.cpp b/src/server/command.cpp
index 87bda2c..069d788 100644
--- a/src/server/command.cpp
+++ b/src/server/command.cpp
@@ -21,10 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-#include <boost/python/return_value_policy.hpp>
-#include <tango.h>
-
+#include "precompiled_header.hpp"
 #include "exception.h"
 #include "pytgutils.h"
 #include "fast_from_py.h"
diff --git a/src/server/device_class.cpp b/src/server/device_class.cpp
index 7215f67..b71d6b8 100644
--- a/src/server/device_class.cpp
+++ b/src/server/device_class.cpp
@@ -21,14 +21,13 @@
    
 *******************************************************************************/
 
+#include "precompiled_header.hpp"
 #include "pytgutils.h"
 #include "exception.h"
 #include "server/device_class.h"
 #include "server/attr.h"
 #include "server/command.h"
 
-#include <sstream>
-
 using namespace boost::python;
 
 #define __AUX_DECL_CALL_DEVCLASS_METHOD \
diff --git a/src/server/device_impl.cpp b/src/server/device_impl.cpp
index b045be5..911f20a 100644
--- a/src/server/device_impl.cpp
+++ b/src/server/device_impl.cpp
@@ -21,11 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-#include <boost/python/return_value_policy.hpp>
-#include <string>
-#include <tango.h>
-
+#include "precompiled_header.hpp"
 #include "defs.h"
 #include "pytgutils.h"
 #include "exception.h"
diff --git a/src/server/dserver.cpp b/src/server/dserver.cpp
index a7ba9ac..d8ed68a 100644
--- a/src/server/dserver.cpp
+++ b/src/server/dserver.cpp
@@ -21,9 +21,8 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
-
 #include "to_py.h"
 #include "from_py.h"
 
diff --git a/src/server/encoded_attribute.cpp b/src/server/encoded_attribute.cpp
index 658456d..62708ea 100644
--- a/src/server/encoded_attribute.cpp
+++ b/src/server/encoded_attribute.cpp
@@ -21,14 +21,14 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 #include "tango_numpy.h"
 #include "device_attribute.h"
 
 using namespace boost::python;
 
-const int i = 1;
+const int i = 1;
 #define IS_BIGENDIAN() ( (*(char*)&i) == 0 )
 
 namespace PyEncodedAttribute
diff --git a/src/server/log4tango.cpp b/src/server/log4tango.cpp
index c613892..c7674d2 100644
--- a/src/server/log4tango.cpp
+++ b/src/server/log4tango.cpp
@@ -21,9 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-#include <tango.h>
-
+#include "precompiled_header.hpp"
 #include "defs.h"
 #include "pytgutils.h"
 
diff --git a/src/server/multi_attribute.cpp b/src/server/multi_attribute.cpp
index d2586f4..b3d5216 100644
--- a/src/server/multi_attribute.cpp
+++ b/src/server/multi_attribute.cpp
@@ -21,8 +21,8 @@
    
 *******************************************************************************/
 
-#include "pytgutils.h"
-#include <sstream>
+#include "precompiled_header.hpp"
+#include <tango.h>
 
 using namespace boost::python;
 
diff --git a/src/server/multi_class_attribute.cpp b/src/server/multi_class_attribute.cpp
index 3600d8c..218363d 100644
--- a/src/server/multi_class_attribute.cpp
+++ b/src/server/multi_class_attribute.cpp
@@ -21,8 +21,8 @@
    
 *******************************************************************************/
 
+#include "precompiled_header.hpp"
 #include "pytgutils.h"
-#include <sstream>
 
 using namespace boost::python;
 
diff --git a/src/server/subdev.cpp b/src/server/subdev.cpp
index 09c5520..6fdec99 100644
--- a/src/server/subdev.cpp
+++ b/src/server/subdev.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/server/tango_util.cpp b/src/server/tango_util.cpp
index 9db93a0..3469f7d 100644
--- a/src/server/tango_util.cpp
+++ b/src/server/tango_util.cpp
@@ -21,14 +21,10 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-#include <tango.h>
-#include <iostream>
-
+#include "precompiled_header.hpp"
 #include "defs.h"
 #include "pytgutils.h"
 #include "exception.h"
-
 #include "server/device_class.h"
 
 using namespace boost::python;
diff --git a/src/server/user_default_attr_prop.cpp b/src/server/user_default_attr_prop.cpp
index 0aa1d73..3915b2e 100644
--- a/src/server/user_default_attr_prop.cpp
+++ b/src/server/user_default_attr_prop.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/server/wattribute.cpp b/src/server/wattribute.cpp
index ccdf4af..c7fa5fd 100644
--- a/src/server/wattribute.cpp
+++ b/src/server/wattribute.cpp
@@ -21,11 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-#include <boost/python/return_value_policy.hpp>
-#include <string>
-#include <tango.h>
-
+#include "precompiled_header.hpp"
 #include "defs.h"
 #include "pytgutils.h"
 #include "fast_from_py.h"
diff --git a/src/time_val.cpp b/src/time_val.cpp
index e23033e..7bca3a8 100644
--- a/src/time_val.cpp
+++ b/src/time_val.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/src/to_py.cpp b/src/to_py.cpp
index d4fcffd..a7932f4 100644
--- a/src/to_py.cpp
+++ b/src/to_py.cpp
@@ -21,8 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
-
+#include "precompiled_header.hpp"
 #include "defs.h"
 #include "to_py.h"
 #include "pyutils.h"
diff --git a/src/version.cpp b/src/version.cpp
index 6ea0785..005d5b6 100644
--- a/src/version.cpp
+++ b/src/version.cpp
@@ -21,7 +21,7 @@
    
 *******************************************************************************/
 
-#include <boost/python.hpp>
+#include "precompiled_header.hpp"
 #include <tango.h>
 
 using namespace boost::python;
diff --git a/win/PyTango_VS8/PyTango.sln b/win/PyTango_VS8/PyTango.sln
new file mode 100644
index 0000000..43e0f42
--- /dev/null
+++ b/win/PyTango_VS8/PyTango.sln
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PyTango", "PyTango.vcproj", "{764A5ECE-11AE-4363-9A1C-573972A1BADD}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Release_Py26_boost141|Win32 = Release_Py26_boost141|Win32
+		Release_Py26_boost141|x64 = Release_Py26_boost141|x64
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{764A5ECE-11AE-4363-9A1C-573972A1BADD}.Release_Py26_boost141|Win32.ActiveCfg = Release_Py26_boost141|Win32
+		{764A5ECE-11AE-4363-9A1C-573972A1BADD}.Release_Py26_boost141|Win32.Build.0 = Release_Py26_boost141|Win32
+		{764A5ECE-11AE-4363-9A1C-573972A1BADD}.Release_Py26_boost141|x64.ActiveCfg = Release_Py26_boost141|x64
+		{764A5ECE-11AE-4363-9A1C-573972A1BADD}.Release_Py26_boost141|x64.Build.0 = Release_Py26_boost141|x64
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/win/PyTango_VS8/PyTango.vcproj b/win/PyTango_VS8/PyTango.vcproj
new file mode 100644
index 0000000..f4aefd6
--- /dev/null
+++ b/win/PyTango_VS8/PyTango.vcproj
@@ -0,0 +1,555 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="PyTango"
+	ProjectGUID="{764A5ECE-11AE-4363-9A1C-573972A1BADD}"
+	RootNamespace="PyTango_VS8"
+	Keyword="Win32Proj"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Release_Py26_boost141|Win32"
+			OutputDirectory="..\..\build\lib.$(PlatformName)-2.6\$(ProjectName)"
+			IntermediateDirectory="..\..\build\temp.$(PlatformName)\python26\$(ConfigurationName)"
+			ConfigurationType="2"
+			CharacterSet="0"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalOptions="-Zm200"
+				Optimization="3"
+				WholeProgramOptimization="false"
+				AdditionalIncludeDirectories=""C:\Python26\Lib\site-packages\numpy\core\include";"c:\Program Files\boost\boost_1_41";C:\Python26\include;"C:\Program Files\tango\win32_vc8\win32_dll\include";Z:\PyTangoWin\PyTango\src\server;Z:\PyTangoWin\PyTango\src"
+				PreprocessorDefinitions="WIN32;NDEBUG;LOG4TANGO_HAS_DLL;TANGO_HAS_DLL"
+				RuntimeLibrary="2"
+				BufferSecurityCheck="false"
+				UsePrecompiledHeader="1"
+				PrecompiledHeaderThrough="precompiled_header.hpp"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="false"
+				DebugInformationFormat="0"
+				CompileAs="0"
+				DisableSpecificWarnings="4005;4996;4250"
+				ErrorReporting="1"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="tango.lib log4tango.lib omniORB414_rt.lib omniDynamic414_rt.lib omnithread34_rt.lib COS414_rt.lib"
+				OutputFile="$(OutDir)\_PyTango.pyd"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories="C:\Python26\libs;"C:\Program Files\tango\win32_vc8\win32_dll\lib";"C:\Program Files\boost\boost_1_41\lib""
+				GenerateDebugInformation="true"
+				ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				LinkTimeCodeGeneration="0"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+				Description="Starting setup.py bdist_msi"
+				CommandLine="c:\python26\python $(SolutionDir)\..\..\winsetup.py"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release_Py26_boost141|x64"
+			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="2"
+			CharacterSet="0"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="3"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalOptions="-Zm200"
+				Optimization="3"
+				WholeProgramOptimization="false"
+				AdditionalIncludeDirectories=""C:\Python26\Lib\site-packages\numpy\core\include";"c:\Program Files\boost\boost_1_41";C:\Python26\include;"C:\Program Files\tango\win64_vc8\win64_dll\include";Z:\PyTangoWin\PyTango\src\server;Z:\PyTangoWin\PyTango\src"
+				PreprocessorDefinitions="WIN64;NDEBUG;LOG4TANGO_HAS_DLL;TANGO_HAS_DLL"
+				RuntimeLibrary="2"
+				BufferSecurityCheck="false"
+				UsePrecompiledHeader="1"
+				PrecompiledHeaderThrough="precompiled_header.hpp"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="false"
+				DebugInformationFormat="0"
+				CompileAs="0"
+				DisableSpecificWarnings="4005;4996;4250"
+				ErrorReporting="1"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="tango.lib log4tango.lib omniORB414_rt.lib omniDynamic414_rt.lib omnithread34_rt.lib COS414_rt.lib"
+				OutputFile="$(OutDir)\_PyTango.pyd"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories="C:\Python26\libs;"C:\Program Files\tango\win64_vc8\win64_dll\lib";"C:\Program Files\boost\boost_1_41\lib""
+				GenerateDebugInformation="true"
+				ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				LinkTimeCodeGeneration="0"
+				TargetMachine="17"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+				Description="Starting setup.py bdist_msi"
+				CommandLine="c:\python26\python $(SolutionDir)\..\..\winsetup.py"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+			<File
+				RelativePath="..\..\src\server\attr.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\attribute.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\base_types_numpy.hpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\callback.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\command.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\defs.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\device_attribute.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\device_attribute_numpy.hpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\device_class.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\device_impl.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\exception.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\fast_from_py.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\fast_from_py_numpy.hpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\from_py.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\precompiled_header.hpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\pytgutils.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\pyutils.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\tango_numpy.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\tgutils.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\to_py.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\to_py_numpy.hpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\wattribute_numpy.hpp"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath="..\..\src\api_util.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\archive_event_info.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\attr.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\attr_conf_event_data.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\attribute.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\attribute_alarm_info.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\attribute_dimension.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\attribute_event_info.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\attribute_info.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\attribute_info_ex.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\attribute_proxy.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\base_types.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\callback.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\change_event_info.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\command.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\command_info.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\connection.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\constants.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\data_ready_event_data.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\database.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\db.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\dev_command_info.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\dev_error.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\device_attribute.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\device_attribute_config.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\device_attribute_history.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\device_class.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\device_data.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\device_data_history.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\device_impl.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\device_info.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\device_proxy.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\dserver.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\encoded_attribute.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\enums.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\event_data.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\exception.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\from_py.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\group.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\group_element.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\group_reply.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\group_reply_list.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\locker_info.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\locking_thread.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\log4tango.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\multi_attribute.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\multi_class_attribute.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\periodic_event_info.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\poll_device.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\precompiled_header.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\pytango.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\pytgutils.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\pyutils.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\subdev.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\tango_util.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\time_val.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\to_py.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\user_default_attr_prop.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\version.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\wattribute.cpp"
+				>
+			</File>
+		</Filter>
+		<File
+			RelativePath="..\..\winsetup.py"
+			>
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/win/PyTango_VS9/PyTango.sln b/win/PyTango_VS9/PyTango.sln
new file mode 100644
index 0000000..e92635e
--- /dev/null
+++ b/win/PyTango_VS9/PyTango.sln
@@ -0,0 +1,26 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PyTango", "PyTango.vcproj", "{764A5ECE-11AE-4363-9A1C-573972A1BADD}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Release_Py26|Win32 = Release_Py26|Win32
+		Release_Py27_numpy16|Win32 = Release_Py27_numpy16|Win32
+		Release|Win32 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{764A5ECE-11AE-4363-9A1C-573972A1BADD}.Debug|Win32.ActiveCfg = Debug|Win32
+		{764A5ECE-11AE-4363-9A1C-573972A1BADD}.Debug|Win32.Build.0 = Debug|Win32
+		{764A5ECE-11AE-4363-9A1C-573972A1BADD}.Release_Py26|Win32.ActiveCfg = Release_Py26|Win32
+		{764A5ECE-11AE-4363-9A1C-573972A1BADD}.Release_Py26|Win32.Build.0 = Release_Py26|Win32
+		{764A5ECE-11AE-4363-9A1C-573972A1BADD}.Release_Py27_numpy16|Win32.ActiveCfg = Release_Py27_numpy16|Win32
+		{764A5ECE-11AE-4363-9A1C-573972A1BADD}.Release_Py27_numpy16|Win32.Build.0 = Release_Py27_numpy16|Win32
+		{764A5ECE-11AE-4363-9A1C-573972A1BADD}.Release|Win32.ActiveCfg = Release|Win32
+		{764A5ECE-11AE-4363-9A1C-573972A1BADD}.Release|Win32.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/win/PyTango_VS9/PyTango.vcproj b/win/PyTango_VS9/PyTango.vcproj
new file mode 100644
index 0000000..59f71bc
--- /dev/null
+++ b/win/PyTango_VS9/PyTango.vcproj
@@ -0,0 +1,686 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9,00"
+	Name="PyTango"
+	ProjectGUID="{764A5ECE-11AE-4363-9A1C-573972A1BADD}"
+	RootNamespace="PyTango_VS8"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="131072"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="2"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PYTANGO_VS8_EXPORTS"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="2"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="2"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PYTANGO_VS8_EXPORTS"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="2"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release_Py27_numpy16|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="2"
+			CharacterSet="0"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="3"
+				WholeProgramOptimization="false"
+				AdditionalIncludeDirectories=""C:\Python27\Lib\site-packages\numpy\core\include";C:\boost_1_47;C:\Python27\include;"C:\Program Files\tango\win32_vc8\win32_dll\include";Z:\PyTangoWin\PyTango\src\server;Z:\PyTangoWin\PyTango\src"
+				PreprocessorDefinitions="WIN32;NDEBUG;LOG4TANGO_HAS_DLL;TANGO_HAS_DLL"
+				RuntimeLibrary="2"
+				BufferSecurityCheck="false"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="false"
+				DebugInformationFormat="0"
+				CompileAs="0"
+				DisableSpecificWarnings="4005;4996;4250"
+				ErrorReporting="0"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="tango.lib log4tango.lib omniORB414_rt.lib omniDynamic414_rt.lib omnithread34_rt.lib COS414_rt.lib"
+				OutputFile="$(OutDir)\_PyTango.pyd"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories="C:\Python27\libs;"C:\Program Files\tango\win32_vc8\win32_dll\lib";C:\boost_1_47\lib"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release_Py26|Win32"
+			OutputDirectory="..\..\build\lib.win32-2.6\$(ProjectName)"
+			IntermediateDirectory="..\..\build\temp_VS_$(ProjectName)_$(ConfigurationName)"
+			ConfigurationType="2"
+			CharacterSet="0"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalOptions="-Zm200"
+				Optimization="3"
+				WholeProgramOptimization="false"
+				AdditionalIncludeDirectories=""C:\Python26\Lib\site-packages\numpy\core\include";"c:\Program Files\boost\boost_1_41";C:\Python26\include;"C:\Program Files\tango\win32_vc8\win32_dll\include";Z:\PyTangoWin\PyTango\src\server;Z:\PyTangoWin\PyTango\src"
+				PreprocessorDefinitions="WIN32;NDEBUG;LOG4TANGO_HAS_DLL;TANGO_HAS_DLL"
+				RuntimeLibrary="2"
+				BufferSecurityCheck="false"
+				UsePrecompiledHeader="1"
+				PrecompiledHeaderThrough="precompiled_header.hpp"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="false"
+				DebugInformationFormat="0"
+				CompileAs="0"
+				DisableSpecificWarnings="4005;4996;4250"
+				ErrorReporting="1"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="tango.lib log4tango.lib omniORB414_rt.lib omniDynamic414_rt.lib omnithread34_rt.lib COS414_rt.lib"
+				OutputFile="$(OutDir)\_PyTango.pyd"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories="C:\Python26\libs;"C:\Program Files\tango\win32_vc8\win32_dll\lib";"C:\Program Files\boost\boost_1_41\lib""
+				GenerateDebugInformation="true"
+				ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				LinkTimeCodeGeneration="0"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath="..\..\src\api_util.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\archive_event_info.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\attr.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\attr_conf_event_data.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\attribute.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\attribute_alarm_info.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\attribute_dimension.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\attribute_event_info.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\attribute_info.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\attribute_info_ex.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\attribute_proxy.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\base_types.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\callback.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\change_event_info.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\command.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\command_info.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\connection.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\constants.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\data_ready_event_data.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\database.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\db.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\dev_command_info.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\dev_error.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\device_attribute.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\device_attribute_config.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\device_attribute_history.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\device_class.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\device_data.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\device_data_history.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\device_impl.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\device_info.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\device_proxy.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\dserver.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\encoded_attribute.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\enums.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\event_data.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\exception.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\from_py.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\group.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\group_element.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\group_reply.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\group_reply_list.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\locker_info.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\locking_thread.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\log4tango.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\multi_attribute.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\multi_class_attribute.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\periodic_event_info.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\poll_device.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\precompiled_header.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\pytango.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\pytgutils.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\pyutils.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\subdev.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\tango_util.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\time_val.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\to_py.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\user_default_attr_prop.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\version.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\wattribute.cpp"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+			<File
+				RelativePath="..\..\src\server\attr.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\attribute.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\base_types_numpy.hpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\callback.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\command.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\defs.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\device_attribute.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\device_attribute_numpy.hpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\device_class.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\device_impl.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\exception.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\fast_from_py.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\fast_from_py_numpy.hpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\from_py.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\precompiled_header.hpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\pytgutils.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\pyutils.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\tango_numpy.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\tgutils.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\to_py.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\to_py_numpy.hpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\server\wattribute_numpy.hpp"
+				>
+			</File>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/winsetup.py b/winsetup.py
new file mode 100644
index 0000000..481ff09
--- /dev/null
+++ b/winsetup.py
@@ -0,0 +1,35 @@
+#!/usr/bin/env python
+
+################################################################################
+##
+## This file is part of PyTango, a python binding for Tango
+## 
+## http://www.tango-controls.org/static/PyTango/latest/doc/html/index.html
+##
+## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
+## 
+## PyTango is free software: you can redistribute it and/or modify
+## it under the terms of the GNU Lesser General Public License as published by
+## the Free Software Foundation, either version 3 of the License, or
+## (at your option) any later version.
+## 
+## PyTango is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU Lesser General Public License for more details.
+## 
+## You should have received a copy of the GNU Lesser General Public License
+## along with PyTango.  If not, see <http://www.gnu.org/licenses/>.
+##
+################################################################################
+
+import sys
+import os
+import os.path as osp
+
+executable = sys.executable
+
+setup_name = osp.join(osp.dirname(osp.abspath(__file__)), "setup.py")
+cmd_line = "%s %s bdist_msi" % (executable, setup_name)
+print "Starting '%s'..." % cmd_line
+os.system(cmd_line)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/pytango.git



More information about the debian-science-commits mailing list