1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00

Remove Microsoft/Cygwin import/export nonsense

Windows/Cygwin requires onerous special handling and the definition
of additional _imp__* symbols to import/export symbols between
dynamically linked binaries. Its support in AST used a lot of
macros and code obfuscation. In the features/common test for this,
AT&T called this the "Microsoft import/export nonsense".

They're right, it's nonsense. Somehow, Microsoft's POSIX layer,
SFU/Interix, always managed without it. No one has time to maintain
this (especially considering how incredibly sluggish Cygwin is).
And in fact, it had already fallen victim to bit rot; I confirmed
this in my early experiments with reintroducing dynamic library
support. No one has time to fix it, either.

So, my apologies to any Cygwin fans; ksh 93u+m will never support
dynamically loadable built-ins on Cygwin, even when I do manage to
reintroduce dynamic linking properly.
This commit is contained in:
Martijn Dekker 2022-07-21 18:26:42 +02:00
parent 4c0df0e617
commit 3de4da5afb
143 changed files with 125 additions and 1083 deletions

View file

@ -237,9 +237,6 @@ struct Namval
#define NV_DCADD 0 /* used to add named disciplines */
#define NV_DCRESTRICT 1 /* variable that are restricted in rsh */
#if defined(__EXPORT__) && defined(_DLL)
# define extern __EXPORT__
#endif /* _DLL */
/* prototype for array interface */
extern Namarr_t *nv_arrayptr(Namval_t*);
extern Namarr_t *nv_setarray(Namval_t*,void*(*)(Namval_t*,const char*,int));
@ -289,10 +286,6 @@ extern Namval_t *nv_type(Namval_t*);
extern void nv_addtype(Namval_t*,const char*, Optdisc_t*, size_t);
extern const Namdisc_t *nv_discfun(int);
#ifdef _DLL
# undef extern
#endif /* _DLL */
#define nv_unset(np) _nv_unset(np,0)
#define nv_size(np) nv_setsize((np),-1)
#define nv_stack(np,nf) nv_disc(np,nf,0)