Commit Graph

86 Commits

Author SHA1 Message Date
Jean-Paul Chaput f6ab7b87f0 Compliance with g++ 4.8.1, support for devtoolset-2
Details:
* New: in <bootstrap>: add support for devtoolset-2 in ccb. Run the
    cmake commands through 'scl', set shell environment variables
    BOOST_INCLUDEDIR & BOOST_LIBRARYDIR and disable the default
    system path search.
* Change: In various flex scanners add the %nounput to suppress
    compiler warnings.
* Change: Little cleanup for g++ 4.8.1 as it's more strict.
* Change: In various top CMakeLists.txt, suppress extraneous '/'
    after DESTDIR.
2014-03-15 10:47:37 +01:00
Jean-Paul Chaput 34e0edfd61 Cleanup after SVN importation, <ccb> builder script adaptation.
Project hierarchy reorganisation:
* With svn, we were doing a tool by tool checkout, suppressing the
  whole repository hierarchy level.
* The tools were also grouped, inside one repository, into multiple
  projects (<bootstrap>, <vlsisapd>, <coriolis>).
* We do not want to split up each tool into a separate repository,
  given their tight integration (except for vlsisapd).
* We choose to simplify, and consider all tools in a svn repository
  one project. Due to the way Git clone repositories, the directory
  containing the project is now to be seen under "src/".

CMake modifications:
* Now that the <vlsisapd> and <bootstrap> projects are merged into
  coriolis, modificate the top CMakeLists.txt of each tool to uses
  only Coriolis (and bootstrap hard wired).

CCB compile script modifications:
* Uses the new source tree hierarchy, with the project directory
  inserted.
* Remove (comment) all parts relateds to svn managment.
* Git is sufficiently simple so that we do not want to integrate
  command shortcut into the script.

SVN cleanup:
* Remove the obsolete <chamsin> tool, that has become the full fledged
  <chams> project long time ago.
2014-02-26 18:24:41 +01:00
Jean-Paul Chaput 4a33fa12b3 * ./knik/src:
- Change: In LoadSolution check for missing global routing on nets.
        Nets with more than one pad, a BB greater than a GCell and no
        GContacts.
2013-12-04 01:54:20 +00:00
Jean-Paul Chaput cb5fede680 * ./knik:
- Change: Switch from boost::filestem to VLSISAPD path.
2013-04-22 15:36:02 +00:00
Jean-Paul Chaput 39cd99cbf8 Add library version to flute. 2011-02-04 11:10:02 +00:00
Jean-Paul Chaput 374674aa68 * <All Tools>/CMakeLists.txt:
- Change: Added versioning to library.
2011-02-02 22:25:21 +00:00
Jean-Paul Chaput 23548fe0ab * <All Tools>/CMakeLists.txt:
- Bug: During the packaging stage, DESTDIR must be appended to the
        pathes prepended to CMAKE_MODULE_PATH.
2011-02-02 11:19:55 +00:00
Jean-Paul Chaput 5b06b19fd6 * ./knik:
- Change: In GraphicKnikEngine, uses the new darken mechanism.
2010-12-30 18:40:30 +00:00
Jean-Paul Chaput 8c5fdd12d5 * ./knik:
- Change: Restore Inspector support.
2010-12-04 15:24:43 +00:00
Jean-Paul Chaput fe58d862a1 * ./knik:
- Bug: In Edge::getCost(), when the edge capacity is null, return maximum
        cost (HUGE).
    - Bug: In Knik::saveSolution(), saves only Segments that belongs to global
        routing, that is in GMetalH/GMetalV.
2010-11-16 13:59:03 +00:00
Jean-Paul Chaput a0dce4eceb * ./knik:
- Change: In KnikEngine, calculation of saturation is now using the RoutingGauge,
        but still uses a hard-wired CellGauge.
    - Change: Obstacles are now taken into account for saturation.
2010-08-22 12:37:08 +00:00
Sophie Belloeil d68b98cf2b Adding Target_Link_Libraies for flute & Boost_INCLUDE_DIRS 2010-07-21 12:46:45 +00:00
Jean-Paul Chaput 75df67f391 * All Tools:
- Change: Using more Bootstrap macros. Simpler way of setting the
        CMAKE_MODULE_PATH.
2010-07-15 14:31:21 +00:00
Jean-Paul Chaput b9e3f3e52a * All Tools:
- Change: Switch from "goodies" to "bootstrap".
2010-07-14 19:39:49 +00:00
Jean-Paul Chaput 5e582c163b All tools: using the new Goodies macro.
Suppress loops in Hurricane libraries.
2010-07-13 16:25:29 +00:00
Jean-Paul Chaput 7c37836ca0 * All tools:
- Bug: target_link_libraries() must be put back for OSX Snow Leopard
        (doesn't seems to affect Leopard). As I do not have an OSX under
        my hand it's untested and is likely to fail at that point.
2010-07-12 15:11:32 +00:00
Jean-Paul Chaput 7c549ffe88 * All tools:
- Library linking: there must not be "target_link_library()" for libraries,
        only when building binaries. Avoid clashes between static module
        or class variables, and strange reinitialisation of those variables.
    - Change: Boost is now always linked staticly.
2010-07-01 11:50:01 +00:00
Jean-Paul Chaput 7be63c472d * ./knik:
- In Edge, typo in Go name it must be "Knik::Edge" (was preventing the edges
        to be displayeds).
2010-06-25 08:38:08 +00:00
Jean-Paul Chaput d47615b594 * ./knik:
- Change: In KnikEngine, adds a credits for FLUTE in the ::create() methods.
        Printed every time Knik is run (whatever the verbose level).
2010-05-29 14:08:29 +00:00
Jean-Paul Chaput 26b7fa24eb Added Flute license. 2010-05-27 11:37:34 +00:00
Jean-Paul Chaput 9f65d7e57a Prepend DESTDIR to CMAKE_MODULE_PATH 2010-05-22 14:14:22 +00:00
Jean-Paul Chaput 2037182985 * All tools:
- Change: Adds ${LIB_SUFFIX} to all library search paths.
2010-05-19 14:31:06 +00:00
Jean-Paul Chaput 963d4db82e * All tools:
- Change: take account of the renaming "io" -> "vlsisapd".
2010-05-18 15:04:36 +00:00
Jean-Paul Chaput f2ee5ec804 * All tools:
- Change: adopt a tree layout compliant with the UNIX FHS.
        * includes under      TOP/include/coriolis2.
        * shared datas under  TOP/shared/coriolis2.
        * docs under          TOP/share/doc/coriolis2.
        * configuration under TOP/etc/coriolis2

  * ./crlcore:
    - Change: In Environment, comply to the new tree layout, search configuration
        files under TOP/etc/coriolis2/.

  * ./knik:
    - Change: In flute, comply to the new tree layout, get the "POW*.dat" files
        from TOP/share/coriolis2/flute-2.4.
2010-05-18 12:53:06 +00:00
Jean-Paul Chaput 53f8d23109 Adds LIB_SUFFIX to all CMakeLists install "lib" targets, so that 64 bits
libraries gets installed in "lib64" instead of "lib".

buildCoriolis.py sets automatically LIB_SUFFIX for cmake.
coriolis2.spec modificated to uses lib64 on 64 bits.
2010-05-17 21:19:10 +00:00
Jean-Paul Chaput a4b9fdd82f * All tools:
- Change: Correction to suppress all g++ warnings. Except thoses comming
        from bad Python system includes...
2010-05-17 14:40:41 +00:00
Jean-Paul Chaput 78b3108763 * All tools:
- Change: In the CMakeLists.txt, in all the install commands remove all
        the leading "/" as they prevents the CMAKE_INSTALL_PREFIX to be took
        into account. It was nevertheless working because buildCoriolis.py was
        using DESTDIR which is prepended anyway.
  * ./goodies:
    - Change: In buildCoriolis.py, no longer uses the DESTDIR but instead
        CMAKE_INSTALL_PREFIX.
2010-05-16 16:34:05 +00:00
Jean-Paul Chaput 10de86a8dc * ./knik:
- New: KnikEngine::computeSymbolicWireLength(), which adds to the measurments
        1. - The sum of global wire length (in lambdas).
        2. - The abutment box area of the design (in square lambdas).
        3. - The saturation ratio of the design: wire length divided by area and
               normalized by a "fully routed GCell".
2010-05-13 09:45:53 +00:00
Jean-Paul Chaput e32f8c72de * ./knik:
- Change: In KnikEngine::initGlobalRouting(), increase the maximal degree
        of net to be routed (1000 -> 13000). This to allow the clock to be
        routed of the "vld" circuit.
2010-05-11 11:03:50 +00:00
The Coriolis Project 8d764a8497 Correct pathes detection. 2010-04-28 21:55:01 +00:00
Jean-Paul Chaput 9ca0332d1e * Most of tools:
- Bug: In top CMakeLists.txt the SETUP_PROJECT_PATHS was not inserting
        X_USER_TOP *before* X_TOP, thus potentially allowing an obsolete
        system-wide configuration to shadow an up-to-date local one.

  * ./knik:
    - Bug: In MatrixVertex, still the same index bug problem (incomplete
        correction).
2010-04-28 15:42:55 +00:00
Jean-Paul Chaput 92e55924c4 * ./knik:
- Bug: In MatrixVertex::getLineIndex() and getColumnIndex(), in regular
        mode, when the Y/X coordinate is exactly on the upper right angle,
        return the inferior index (instead of superior which is out of bounds).
    - Change: In MatrixVertex, RoutingGrid & KnikEngine, replace the _lowerLeftX &
        _lowerLeftY by a complete copy of the Cell's abutment box. Makes
        easier for getLineIndex() to find out of bound coordinates.
    - Change: In KnikEngine & LoadSolution add a time/memory measurement,
        for Kite statistics.
2010-04-23 13:13:22 +00:00
Jean-Paul Chaput 6dcbc34a70 * All Tools:
- Change: <PROJECT>_SEARCH_PATH are put back into the *first* tool of
         a project.
     - Bug: In HURRICANE_CHECK_MACRO(), the quiet flag was not correctly
         implemented. User ARGV instead of argv (case sensitivity!).
2010-03-19 14:22:35 +00:00
Damien Dupuis 0a90142d7e Do not compile with qt4.5 32bits on snow leopard, qt4.6 is out since a while 2010-03-19 12:09:37 +00:00
Jean-Paul Chaput c66755a2bf * All Tools:
- Change: New structure for the installation & CMake system.
         * Tools are now grouped in "projects". There are three projects:
           1. - IO: Standalones parsers/drivers (IO_USER_TOP, IO_TOP).
           2. - Coriolis: Base & digital tools (CORIOLIS_USER_TOP, CORIOLIS_TOP).
           3. - Chams: Analogic tools (CHAMS_USER_TOP, CHAMS_TOP).
           Each *project* has a two "TOP" environement variables, for
         example: IO_TOP and IO_USER_TOP. Thoses variables are the only
         ones useds to locate the tool (CMake modules, headers & libraries).
           The local path always takes precedence over the global one.
           The localisation process occurs in each tool top CMakeLists.txt
         where the macro SETUP_PROJECT_PATH is to be defined. There is no
         way to put it in a shared includes file as it's the macro precisely
         used to locates the includes... You have to call the macro once for
         each project you wants to uses:
             SETUP_PROJECT_PATHS(IO)
             SETUP_PROJECT_PATHS(CORIOLIS)
         * In FindTOOL.cmake, supress the <TOOL>_DIR_SEARCH and uses the
         <PROJECT>_DIR_SEARCH instead (example: CORIOLIS_DIR_SEARCH).
         * buildCoriolis.py modificated according to the new "TOP" scheme.
2010-03-18 15:32:30 +00:00
Jean-Paul Chaput 5f59d39713 * ./hurricane/src/hviewer,
./coriolis/src/crlcore,
     ./coriolis/src/knik,
     ./coriolis/src/katabatic,
     ./coriolis/src/kite,
     ./coriolis/src/equinox,
     ./coriolis/src/solstice,
     ./coriolis/src/ispd:
     - SVN MOVE: Source tree simplification & uniformisation. Now all tools
         are at the same level, directly under the root of the repository.
         No more "coriolis/src".
2010-03-09 15:23:58 +00:00