[M3devel] missed the memo? LINUXLIBC6 building WinBase?
Rodney M. Bates
rodney_bates at lcwb.coop
Sat Nov 23 21:33:51 CET 2013
On 11/23/2013 05:13 AM, Jay K wrote:
> This is deliberate, and slightly useful, and the warnings shouldn't occur in the head,
> for several years now. Please upgrade more frequently.
>
>
I feel very strongly that the latest release compiler should always build the head.
We have all too few Modula-3 users anyway. If we don''t have this ability,
then we become an exclusive club with unreasonable barriers to outsiders.
There is hardly a better way to keep the community shrinking.
I know it can be a pain to maintain compatibility, but we really must do it.
Until we get a new release with a compiler that won't choke on WINAPI, we
need to keep different versions of the source.
Actually, I thought I had removed all occurrences of this problem a few
months ago. How did I miss this one?
> In particular:
>
>
> - It is useful because "much" of the interfaces are describing types,
> and types aren't just for function parameters, for functions that
> aren't available, but they are used as part of files, and you can,
> hypothetically, use them in your own functions (heck, you can
> write a Win32-on-Posix compatibility layer and provide the functions..).
>
>
> In particular, mklib uses these types and is fairly portable.
> It might have endian/alignment problems though, esp. endian.
>
>
> I do have a plan to get rid of mklib though...i was slow to realize it
> because mklib exports too much and I wanted a replacement wthout that flaw,
> but just matching it is adequate. The frontend/backends shall output
> the .def files instead of mklib. And then the usual lib/ar/link can/should
> make the libraries. If anyone wants to use LTCG on NT with the C backend,
> this is the way (or put everything in one source file via the backend, not a bad idea)..
>
>
> - In the past 20 years or so, there is only one widely used
> platform that made the mistake of having multiple calling conventions
> and that is NT/x86. Not NT in general, but NT/x86 specifically.
> I expect nobody will make this mistake again.
> I'm not sure MIPSo32/MIPSn32 or ARM-mess count as the same mistake.
> On NT/x86, the calling convention does not bifurcate the entire target
> and force building everything multiple times, because you can sprinkle it around and
> each "type" can call each "type". This is good and bad.
> The other OS/processor combinations with multiple calling conventions
> define it as multiple ABIs with I believe no offical interop (except at the
> kernel level, for some of them).
>
>
> Therefore, callling conventions can be safely ignored on all platforms except NT/x86.
> Nobody will have any names to use here, overlapping the NT/x86 names or not.
> If the day comes where I am wrong and some target has multiple conventions,
> we should change the pragma to accept multiple. If the names overlap with NT/x86,
> we would put platform qualifiers on them. Never again should we have the Win32 SQL.i3
> and Posix SQL.i3 that are the same, except for calling convention. What a waste -- almost
> the same, but for one little difference that could be handled another way, they go duplicated.
> That pattern bugs me.
>
>
> - Jay
>
>
>
>
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--
> From: dragisha at m3w.org
> Date: Fri, 22 Nov 2013 23:55:23 +0100
> To: m3devel at elegosoft.com
> Subject: Re: [M3devel] missed the memo? LINUXLIBC6 building WinBase?
>
> Yes, it was in a memo. Sorry for disruption :).
>
> On 22 Nov 2013, at 23:31, Dragiša Durić <dragisha at m3w.org <mailto:dragisha at m3w.org>> wrote:
>
> + ./scripts/do-pkg.sh buildship m3core libm3 tcp
> /root/rpmbuild/BUILD/cm3/scripts/pkgmap.sh -c cm3 -build -DROOT='/root/rpmbuild/BUILD/cm3' && cm3 -ship -DROOT='/root/rpmbuild/BUILD/cm3' m3core libm3 tc
> === package m3-libs/m3core ===
> +++ cm3 -build -DROOT='/root/rpmbuild/BUILD/cm3' $RARGS && cm3 -ship $RARGS -DROOT='/root/rpmbuild/BUILD/cm3' +++
> --- building in LINUXLIBC6 ---
>
> ignoring ../src/m3overrides
>
> new source -> compiling WinBase.i3
> "../src/win32/WinDef.i3", line 131: warning: unrecognized pragma (ignored) (WINAPI)
> "../src/win32/WinDef.i3", line 132: warning: unrecognized pragma (ignored) (WINAPI)
> "../src/win32/WinDef.i3", line 133: warning: unrecognized pragma (ignored) (WINAPI)
> "../src/win32/WinBase.i3", line 198: warning: unrecognized pragma (ignored) (WINAPI)
> "../src/win32/WinBase.i3", line 918: unsupported language or calling convention (WINAPI)
> "../src/win32/WinBase.i3", line 921: unsupported language or calling convention (WINAPI)
> "../src/win32/WinBase.i3", line 924: unsupported language or calling convention (WINAPI)
> "../src/win32/WinBase.i3", line 927: unsupported language or calling convention (WINAPI)
> "../src/win32/WinBase.i3", line 930: unsupported language or calling convention (WINAPI)
> "../src/win32/WinBase.i3", line 933: unsupported language or calling convention (WINAPI)
> "../src/win32/WinBase.i3", line 943: unsupported language or calling convention (WINAPI)
> "../src/win32/WinBase.i3", line 949: unsupported language or calling convention (WINAPI)
> "../src/win32/WinBase.i3", line 952: unsupported language or calling convention (WINAPI)
> "../src/win32/WinBase.i3", line 955: unsupported language or calling convention (WINAPI)
>
> --
> Dragiša Durić
> dragisha at m3w.org <mailto:dragisha at m3w.org>
>
>
>
>
More information about the M3devel
mailing list