Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Watcom #26

Open
wants to merge 125 commits into
base: master
Choose a base branch
from
Open

Watcom #26

wants to merge 125 commits into from

Conversation

staalmannen
Copy link

This is a preliminary pull request for enabling building (currently cross-compiling from Linux) busybox for Win32 using the Open Watcom compiler. The resulting binary is smaller all applets tested seem to work fine (including shell).

BUGS:

  • backspace is very slow under the busybox shell
  • some applets do not work when executed under the busybox shell

There are still many things that can be cleaned up, but at least it is at a "workable" stage right now.

@staalmannen
Copy link
Author

@rmyorston I just saw the note about merge conflicts. I will try to resolve those soon.

BTW: I saw that you used to have a "slow backspace" bug in the MinGW built busybox shell. I still suffer from that under the Watcom built busybox shell. What was the solution for you?

@rmyorston
Copy link
Owner

Yeah, I've been continuing to hack on busybox-w32 without considering its affect on you. It'll all come out right in the end...

I think the "slow backspace" problem was just that the cursor disappeared for a while after it had been moved. I fixed that in commit c8f2018 by using an escape sequence to move the cursor instead of a backspace character. You should have that in your build, though.

@staalmannen
Copy link
Author

Ofcourse you should not block yourself because of me. I will just try to resolve the stuff during a rebase.

The "slow backspace" thing I have seem to be more that there is no visual feedback from deleting characters while they actually are deleted.
I will now first see what happens when I have patched in an old Watcom port of busybox (for a linux binary). Hopefully those will help somewhere.

@staalmannen
Copy link
Author

A successful rebase and a push --force removed some duplicate patches etc. Now it seems like it applies cleanly again, so I can focus on other things.
From now on I have learnt the lesson not to use rebase...

@staalmannen
Copy link
Author

staalmannen commented Mar 22, 2018

The Win32 port builds again with Open Watcom against updated sources.
TODO:

  • clean up more (still some useless changes probably) to further reduce the delta
  • I should definitely try to organize the watcom-win32 header better or perhaps try to shrink it and use the mingw.h header as much as possible.
  • build the linux variant
  • try to figure out how to get watcom to work as HOSTCC
  • alternatively/additionally : write wmake files for "defconfig" variants with pre-configured headers (bypass the HOSTCC stage, perhaps enable native compilation on Windows). These wmake files and headers could perhaps also serve as templates for nmake or sln files to also build with MSVC.
  • if I am feeling extra crazy : try a Dos4GW port of busybox

@bofhbug
Copy link

bofhbug commented Aug 21, 2020

Is a Dos4GW port of busybox feasible

@staalmannen
Copy link
Author

staalmannen commented Aug 28, 2020

Is a Dos4GW port of busybox feasible

It is something I wanted to explore some time because it would be very cool :) With busybox and x11 for DOS (I saw that somewhere) we would have a "unix" on DOS. I think the first thing should be to get the Win32 working though. I should probably update this sometime again.

DOS+busybox without x11 could also be interesting as the "tiniest unix" and could perhaps be interesting in extremely simple x86-based embedded things (no idea if such things would be 286/386-based though).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants