User Tools

Site Tools


devel:sis

This is an old revision of the document!


Building SIS

SIS prvides a logic synthesis library libsis.a that is required for Petrify.

Generic notes

  • GCC compatibility
    • Replace restrict to restrict_var – it is a keyword now.
  • Windows builds
    • Cygwin build is smooth, but it introduces ugly dependency on cygwin1.dll for compatibility layer.
    • MinGW provides a convenient toolchain for cross-compilation and does not introduce unnecessary dependencies. To install MinGW-W64 in Ubuntu so:
      sudo apt install mingw-w64
    • Use __MINGW32__ macro to distinguish Windows builds.
    • Add -lwinmm to the linker command:
      ifneq ($(findstring mingw32, $(CC)),)
          sis_LDADD = libsis.a -lm -lwinmm
      else
          sis_LDADD = libsis.a -lm
      endif

Cross-compiling for Windows

  • 32-bit SIS for Windows:
    ./configure --host=i686-w64-mingw32
    make
  • 64-bit SIS for Windows:
    ./configure --host=x86_64-w64-mingw32
    make

Compiling for Linux

  • 32-bit SIS for Linux:
    CFLAGS=-m32 ./configure
    make
  • 64-bit SIS for Linux:
    CFLAGS=-m64 ./configure
    make
Copyright © 2014-2024 workcraft.org

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki