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

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1985-2011 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -31,17 +31,9 @@ NoN(execvpe)
#else
#if defined(__EXPORT__)
__EXPORT__ int execvpe(const char*, char* const[], char* const[]);
#endif
#include <ast.h>
#include <errno.h>
#if defined(__EXPORT__)
#define extern __EXPORT__
#endif
extern int
execvpe(const char* name, char* const argv[], char* const envv[])
{