Starting to implement support for Windows/Cygwin.

* New: In all to CMakeLists.txt, disable the warning about deprecated
   WIN32 under cygwin.
* New: In boostrap, in ccb.py, coriolisEnv.py and builder/Configuration.py
   add recognition in uname for the values returned under Windows/Cygwin.
* New: In Documenation, in UsersGuide.rst add some informations about
   Cygwin and a section for the devel branch.
This commit is contained in:
Jean-Paul Chaput 2014-07-13 13:14:49 +02:00
parent 0cced62851
commit d0d045b55b
24 changed files with 90 additions and 8 deletions

View File

@ -1,5 +1,6 @@
# -*- mode: CMAKE explicit-buffer-name: "CMakeLists.txt<bootstrap>" -*-
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
project(Bootstrap)
cmake_minimum_required(VERSION 2.4.0)

View File

@ -2,7 +2,7 @@
# -*- mode:Python -*-
#
# This file is part of the Coriolis Software.
# Copyright (c) UPMC/LIP6 2008-2014, All Rights Reserved
# Copyright (c) UPMC 2008-2014, All Rights Reserved
#
# +-----------------------------------------------------------------+
# | C O R I O L I S |
@ -131,6 +131,10 @@ class Configuration ( object ):
self._osFreeBSD8x_64 = re.compile (".*FreeBSD 8.*x86_64.*")
self._osFreeBSD8x = re.compile (".*FreeBSD 8.*")
self._osDarwin = re.compile (".*Darwin.*")
self._osCygwinW7_64 = re.compile (".*CYGWIN_NT-6\.1-WOW64.*")
self._osCygwinW7 = re.compile (".*CYGWIN_NT-6\.1.*")
self._osCygwinW8_64 = re.compile (".*CYGWIN_NT-6\.[2-3]-WOW64.*")
self._osCygwinW8 = re.compile (".*CYGWIN_NT-6\.[2-3].*")
uname = subprocess.Popen ( ["uname", "-srm"], stdout=subprocess.PIPE )
lines = uname.stdout.readlines()
@ -155,6 +159,14 @@ class Configuration ( object ):
self._osType = "FreeBSD.8x.x86_64"
self._libSuffix = "64"
elif self._osFreeBSD8x .match(lines[0]): self._osType = "FreeBSD.8x.i386"
elif self._osCygwinW7_64.match(lines[0]):
self._osType = "Cygwin.W7_64"
self._libSuffix = "64"
elif self._osCygwinW7.match(lines[0]): self._osType = "Cygwin.W7"
elif self._osCygwinW8_64.match(lines[0]):
self._osType = "Cygwin.W8_64"
self._libSuffix = "64"
elif self._osCygwinW8.match(lines[0]): self._osType = "Cygwin.W8"
else:
uname = subprocess.Popen ( ["uname", "-sr"], stdout=subprocess.PIPE )
self._osType = uname.stdout.readlines()[0][:-1]

View File

@ -64,6 +64,10 @@ def guessOs ():
osFreeBSD8x_64 = re.compile (".*FreeBSD 8.*x86_64.*")
osFreeBSD8x = re.compile (".*FreeBSD 8.*")
osDarwin = re.compile (".*Darwin.*")
osCygwinW7_64 = re.compile (".*CYGWIN_NT-6\.1-WOW64.*")
osCygwinW7 = re.compile (".*CYGWIN_NT-6\.1.*")
osCygwinW8_64 = re.compile (".*CYGWIN_NT-6\.[2-3]-WOW64.*")
osCygwinW8 = re.compile (".*CYGWIN_NT-6\.[2-3].*")
uname = subprocess.Popen ( ["uname", "-srm"], stdout=subprocess.PIPE )
lines = uname.stdout.readlines()
@ -93,6 +97,16 @@ def guessOs ():
libDir = "lib64"
elif osFreeBSD8x.match(lines[0]):
osType = "FreeBSD.8x.i386"
elif osCygwinW7_64.match(lines[0]):
osType = "Cygwin.W7_64"
libDir = "lib64"
elif osCygwinW7.match(lines[0]):
osType = "Cygwin.W7"
elif osCygwinW8_64.match(lines[0]):
osType = "Cygwin.W8_64"
libDir = "lib64"
elif osCygwinW8.match(lines[0]):
osType = "Cygwin.W8"
else:
uname = subprocess.Popen ( ["uname", "-sr"], stdout=subprocess.PIPE )
osType = uname.stdout.readlines()[0][:-1]

View File

@ -44,6 +44,10 @@ def guessOs ():
osFreeBSD8x_amd64 = re.compile (".*FreeBSD 8.*amd64.*")
osFreeBSD8x_64 = re.compile (".*FreeBSD 8.*x86_64.*")
osFreeBSD8x = re.compile (".*FreeBSD 8.*")
osCygwinW7_64 = re.compile (".*CYGWIN_NT-6\.1-WOW64.*")
osCygwinW7 = re.compile (".*CYGWIN_NT-6\.1.*")
osCygwinW8_64 = re.compile (".*CYGWIN_NT-6\.[2-3]-WOW64.*")
osCygwinW8 = re.compile (".*CYGWIN_NT-6\.[2-3].*")
uname = subprocess.Popen ( ["uname", "-srm"], stdout=subprocess.PIPE )
lines = uname.stdout.readlines()
@ -78,12 +82,22 @@ def guessOs ():
osType = "FreeBSD.8x.i386"
elif osDarwin.match(lines[0]):
osType = "Darwin"
elif osCygwinW7_64.match(lines[0]):
osType = "Cygwin.W7_64"
libDir = "lib64"
elif osCygwinW7.match(lines[0]):
osType = "Cygwin.W7"
elif osCygwinW8_64.match(lines[0]):
osType = "Cygwin.W8_64"
libDir = "lib64"
elif osCygwinW8.match(lines[0]):
osType = "Cygwin.W8"
else:
uname = subprocess.Popen ( ["uname", "-sr"], stdout=subprocess.PIPE )
osType = uname.stdout.readlines()[0][:-1]
uname = subprocess.Popen ( ["uname", "-sr"], stdout=subprocess.PIPE )
osType = uname.stdout.readlines()[0][:-1]
#print "[WARNING] Unrecognized OS: \"%s\"." % lines[0][:-1]
#print " (using: \"%s\")" % osType
#print "[WARNING] Unrecognized OS: \"%s\"." % lines[0][:-1]
#print " (using: \"%s\")" % osType
return (osType,libDir)

View File

@ -1,5 +1,6 @@
# -*- mode: CMAKE explicit-buffer-name: "CMakeLists.txt<crlcore>" -*-
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
project(CRLCORE)
cmake_minimum_required(VERSION 2.8.9)

View File

@ -1,5 +1,6 @@
# -*- mode: CMAKE explicit-buffer-name: "CMakeLists.txt<cumulus>" -*-
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
project(CUMULUS)
cmake_minimum_required(VERSION 2.4.0)

View File

@ -3,7 +3,9 @@
set ( pysources ${CMAKE_CURRENT_SOURCE_DIR}/placeandroute.py
${CMAKE_CURRENT_SOURCE_DIR}/ref.py
)
set ( pyplugins ${CMAKE_CURRENT_SOURCE_DIR}/ClockTree.py
set ( pyplugins ${CMAKE_CURRENT_SOURCE_DIR}/plugins/__init__.py
${CMAKE_CURRENT_SOURCE_DIR}/plugins/ClockTree.py
${CMAKE_CURRENT_SOURCE_DIR}/plugins/Chip.py
)
install ( FILES ${pysources} DESTINATION ${PYTHON_SITE_PACKAGES}/cumulus )

View File

@ -1,5 +1,6 @@
# -*- mode: CMAKE; explicit-buffer-name: "CMakeLists.txt<documentation>" -*-
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
project(DOCUMENTATION)
cmake_minimum_required(VERSION 2.4.0)

View File

@ -318,6 +318,10 @@ automatically created either by |ccb| or the build system.
| | Linux, SL 6, 64 bits | | ~/coriolis-2.x/Linux.slsoc6x_64/Release.Shared/build/<tool> |
| | FreeBSD 8, 32 bits | | ~/coriolis-2.x/FreeBSD.8x.i386/Release.Shared/build/<tool> |
| | FreeBSD 8, 64 bits | | ~/coriolis-2.x/FreeBSD.8x.amd64/Release.Shared/build/<tool> |
| | Windows 7, 32 bits | | ~/coriolis-2.x/Cygwin.W7/Release.Shared/build/<tool> |
| | Windows 7, 64 bits | | ~/coriolis-2.x/Cygwin.W7_64/Release.Shared/build/<tool> |
| | Windows 8.x, 32 bits | | ~/coriolis-2.x/Cygwin.W8/Release.Shared/build/<tool> |
| | Windows 8.x, 64 bits | | ~/coriolis-2.x/Cygwin.W8_64/Release.Shared/build/<tool> |
+--------------------------+-----------------------------------------------------------------------------+
| **Architecture Dependant Install** |
+--------------------------+-----------------------------------------------------------------------------+
@ -363,6 +367,24 @@ The complete list of |ccb| functionalities can be accessed with the ``--help`` a
It also may be run in graphical mode (``--gui``).
Building the Devel Branch
-------------------------
In the |Coriolis| |git| repository, two branches are present:
* The :cb:`master` branch, which contains the latest stable version. This is the
one used by default if you follow the above instructions.
* The :cb:`devel` branch, which obviously contains the latest commits from the
development team. To use it instead of the :cb:`master` one, do the following
command just after the first step: ::
dummy@lepka:~$ git checkout devel
Be aware that it may requires newer versions of the depnencies and may introduce
incompatibilites with the stable version.
Additionnal Requirement under |MacOS|
-------------------------------------
@ -401,8 +423,8 @@ cells libraries. In a typical installation, this is generally
:cb:`/usr/share/alliance/cells`.
Environment Helper
~~~~~~~~~~~~~~~~~~
Setting up the Environment (coriolisEnv.py)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To simplify the tedious task of configuring your environment, a helper is provided
in the ``bootstrap`` source directory: ::

View File

@ -1,5 +1,6 @@
# -*- mode: CMAKE explicit-buffer-name: "CMakeLists.txt<equinox>" -*-
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
project(EQUINOX)
cmake_minimum_required(VERSION 2.8.9)

View File

@ -1,5 +1,6 @@
# -*- explicit-buffer-name: "CMakeLists.txt<etesian>" -*-
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
project(ETESIAN)
option(BUILD_DOC "Build the documentation (doxygen)" OFF)

View File

@ -1,5 +1,6 @@
# -*- mode: CMAKE explicit-buffer-name: "CMakeLists.txt<hurricane>" -*-
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
project(HURRICANE)
option(BUILD_DOC "Build the documentation (doxygen)" OFF)

View File

@ -1,5 +1,6 @@
# -*- mode: CMAKE explicit-buffer-name: "CMakeLists.txt<ispd>" -*-
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
project(ISPD)
cmake_minimum_required(VERSION 2.4.0)

View File

@ -1,5 +1,6 @@
# -*- explicit-buffer-name: "CMakeLists.txt<katabatic>" -*-
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
project(KATABATIC)
option(BUILD_DOC "Build the documentation (doxygen)" OFF)

View File

@ -1,5 +1,6 @@
# -*- explicit-buffer-name: "CMakeLists.txt<kite>" -*-
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
project(KITE)
option(BUILD_DOC "Build the documentation (doxygen)" OFF)

View File

@ -1,5 +1,6 @@
# -*- mode: CMAKE explicit-buffer-name: "CMakeLists.txt<knik>" -*-
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
project(KNIK)
cmake_minimum_required(VERSION 2.8.9)

View File

@ -1,5 +1,6 @@
# -*- mode: CMAKE explicit-buffer-name: "CMakeLists.txt<mauka>" -*-
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
project(MAUKA)
cmake_minimum_required(VERSION 2.8.9)

View File

@ -1,5 +1,6 @@
# -*- mode: CMAKE explicit-buffer-name: "CMakeLists.txt<metis>" -*-
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
project(METIS)
cmake_minimum_required(VERSION 2.8.9)

View File

@ -1,5 +1,6 @@
# -*- mode: CMAKE explicit-buffer-name: "CMakeLists.txt<nimbus>" -*-
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
project(NIMBUS)
cmake_minimum_required(VERSION 2.8.9)

View File

@ -1,5 +1,6 @@
# -*- mode: CMAKE explicit-buffer-name: "CMakeLists.txt<solstice>" -*-
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
project(SOLSTICE)
cmake_minimum_required(VERSION 2.8.9)

View File

@ -1,5 +1,6 @@
# -*- mode: CMAKE explicit-buffer-name: "CMakeLists.txt<stratus1>" -*-
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
project(STRATUS1)
option(BUILD_DOC "Build the documentation (latex2html)" OFF)

View File

@ -1,5 +1,6 @@
# -*- mode: CMAKE explicit-buffer-name: "CMakeLists.txt<unicorn>" -*-
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
project(UNICORN)
cmake_minimum_required(VERSION 2.8.9)

View File

@ -1,5 +1,6 @@
# -*- mode: CMAKE explicit-buffer-name: "CMakeLists.txt<vlsisapd>" -*-
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
project(VLSISAPD)
cmake_minimum_required(VERSION 2.8.9)