OrangeC icon indicating copy to clipboard operation
OrangeC copied to clipboard

Create a separate repo for omake/Use omake standalone from OrangeC

Open ruanjiasing opened this issue 3 years ago • 11 comments

Do you think it would be a good idea? Become a real alternative to GNU make?

ruanjiasing avatar Jan 29 '22 12:01 ruanjiasing

Why would you want a separate repo? It uses the runtime libraries that are developed in this repo and if you want to you can just make those parts - or download the binaries from the releases / CI builds and just grab omake.

GitMensch avatar Jan 29 '22 13:01 GitMensch

yeah omake is currently completely standalone in that it doesn't rely on anything else out of the repo. There has been discussion on adding a config file with basic definitions for the ORANGEC compiler, but it doesn't exist yet...

LADSoft avatar Jan 29 '22 15:01 LADSoft

I added OMAKE as a separate repository now

LADSoft avatar Jul 23 '22 19:07 LADSoft

If I may make a suggestion: on every release what we can do is a github action to download the repository, copy all the relevant files to the new repos and post the new updates on the repos, not sure exactly how that would be done here via github actions but I know it's possible to do this at least in bash script decently easily...

chuggafan avatar Jul 23 '22 19:07 chuggafan

I'll look into it when I get a chance. That is much better than maintaining by hand :smile:

LADSoft avatar Jul 24 '22 01:07 LADSoft

What's the point of having a gnu make clone in C++ that is incompatible with gnu make itself, doesn't have any superior features than gnu make itself and even worst has absolutely no documentation at all I wonder? If I don't want gnu make I will use bsd make but not this omake. People are crazy.

ghost avatar Aug 23 '22 14:08 ghost

It is quite GNU make compatible (and supports a bunch of GNU make extensions), has at least additional rules for compiling with the OrangeC toolset (it sounds that you likely won't use them) and may be easier to have on non-gnu systems than make when starting from zero. Which specific things did you found where the GNU make documentation does not match OrangeC's make behavior?

GitMensch avatar Aug 23 '22 15:08 GitMensch

may be easier to have on non-gnu systems than make when starting from zero.

I don't think this statement is true. GNU Make was ported to almost any kind of system available. For DOS there is the port by DJGPP. For Windows there is mingw32-make, if you want POSIX compatible gnu make (like it's on Linux) then you could install Cygwin or MSYS2. I don't think omake is as portable as gnu make.

ruanjiasing avatar Aug 26 '22 04:08 ruanjiasing

I don't think omake is as portable as gnu make.

Me neither, and aiming for this would be ridiculous.

You've spoke about binaries, while I've spoken about "get started by compiling from source". But even then I seem to mis-remember the build procedure, it is even easy with Win32 as it has its own build script ["only" supporting GCC and cl.exe as compilers, but still].

Note: mingw32-make seems to be outdated, cgwin needs its own environment, msys2 is big (which is fine if you use that in general, bad when you just want a single utility); there must be a "plain" one like mingw32-make somewhere (exe [+ doc])...

@3oheicrw: To your initial question: there now is a separate repository for omake which also has CI builds, but those aren't triggered that often so the artifacts (binaries) are often not accessible and you'd need to copy the slightly older one from the repo directly. @LADSoft: Would you mind adding a release there with the current state? Wouldn't it be more reasonable to compile omake using a two step approach (first with gcc and gnu make, then with omake and get rid of the executables in the repo)?

GitMensch avatar Aug 26 '22 05:08 GitMensch

Note: mingw32-make seems to be outdated, cgwin needs its own environment, msys2 is big (which is fine if you use that in general, bad when you just want a single utility); there must be a "plain" one like mingw32-make somewhere (exe [+ doc])...

This seems to be plain gnu make (not mingw32-make) and it's standalone: http://www.equation.com/servlet/equation.cmd?fa=make

ruanjiasing avatar Aug 27 '22 02:08 ruanjiasing

the only reason this is a separate project is that someone asked for it... one person wants it another is opposed to having it, can't please everyone I guess. fwiw the main problem with omake was that the parallel mode was broken, and that led me to write unworkable make files for orange C. Unworkable in the sense that gnu make couldn't work with them... That was fixed earlier this year... I'll probably leave this here but when I get a chance I'll take the suggestion of @GitMensch and build omake with mingw32 so that we don't have to have the executable in the repository...

LADSoft avatar Aug 27 '22 16:08 LADSoft