GithubHelp home page GithubHelp logo

Build in Cygwin about ikforth HOT 6 CLOSED

ikysil avatar ikysil commented on June 4, 2024
Build in Cygwin

from ikforth.

Comments (6)

ikysil avatar ikysil commented on June 4, 2024 1

Actually, FASM for Windows is usable under Cygwin.
I managed to build IKForth with the attached patches.
Console integration is not working though - it looks like Window's Console API is not implemented by Cygwin - see #46 for details.

The binary is usable under cmd.exe and WSL/bash consoles.

from ikforth.

ikysil avatar ikysil commented on June 4, 2024

Which targets you are interested in? Linux or Win32?

from ikforth.

ikysil avatar ikysil commented on June 4, 2024

Actual error:

$ scons
scons: Reading SConscript files ...
KeyError: 'HSYS':
  File "/home/user/workshop/ikysil/ikforth/SConstruct", line 7:
    exports = ['env'])
  File "/usr/lib/scons-2.4.0/SCons/Script/SConscript.py", line 551:
    return _SConscript(self.fs, *files, **subst_kw)
  File "/usr/lib/scons-2.4.0/SCons/Script/SConscript.py", line 260:
    exec _file_ in call_stack[-1].globals
  File "/home/user/workshop/ikysil/ikforth/SConstruct-config", line 23:
    env.SetDefault(TSYS = env['HSYS'])
  File "/usr/lib/scons-2.4.0/SCons/Environment.py", line 410:
    return self._dict[key]

from ikforth.

ruv avatar ruv commented on June 4, 2024

Which targets you are interested in? Linux or Win32?

I supposed that the target should be Cygwin — Windows binaries (and ABI) and Linux API. Though, to get such result a Cygwin toolchain should be used. But it seems flat assembler is not the case:

since the fasm assembler is, itself, written in fasm, you are at a sort of "chicken and the egg" case here.

The only solution I can see, if you want fasm to work from within cygwin, is to port the fasm sourcecode to gas syntax, and then assemble the fasm executable from gas. Then you may proceed to code using fasm under cygwin.

(ShortCoder, 2004)

Well, getting Win32 target on Cygwin is good enough too.

from ikforth.

ruv avatar ruv commented on June 4, 2024

Yes, FASM for Windows is usable in the Cygwin terminal as most of other native Windows console applications.

Cygwin allows to compile a POSIX compatible application without changing its source code and to run it in Windows. So, the application can "think" that it is running in Linux, when it is actually running in Windows. But a Cygwin toolchain should be used for compiling. Theoretically FASM for Windows can be used to build such application too, but it will require a lot of additional code.

Regarding Cygwin terminal — I have answered in the thread #46.

from ikforth.

ruv avatar ruv commented on June 4, 2024

Just for information: when IKForth.exe is build by mingw32-g++.exe (that is used in case of Cygwin), it requires libgcc_s_dw2-1.dll to run.

from ikforth.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.