Hi all,
A quality native port of many useful u*x tools is available from
http://gnuwin32.sourceforge.net/ but the lack of a native u*x shell
in a Windows console is really annoying, because for scripting CMD.EXE
is poor and has a horrible syntax.
So I started the effort of porting zsh version 4.3.17 to native Windows
(i.e. using libc and Win32 calls).
- Are you interested in this effort ?
The port is based on two older projects: the very old port of zsh 3.0.5
to Windows by Amol Deshpande, and the Windows native port of tcsh
(version 6.17 as a base). I made _a lot_ of modifications to the sources,
and got a working port of zsh 3.0.8 that I called 3.0.8.1.
The sources of the library needed for the port (the fork() emulation
and many C libray missing pieces) are contained in the Src/win32
directory.
zsh 3.0.8.1, needed to bootstrap version 4.3.17 currenly has no home,
but I can easyly provide a tarball and an executable.
As a first step, to review the source code modifications, the port for
zsh 4.3.17 links a dummy forklib.a, where fork() returns an error.
This first step in many places adds _WIN32 conditionals to already
preset __CYGWIN__ sections.
The attached patch file has the minimal modifications to compile a NON YET
WORKING zsh. The compiled executable is able to execute only simple
builtin commands like echo or setopt.
The configure modifications SHOULD not be applied. They fix three
problems I was not able to workaround:
- at line 3306:
# The possible output files:
ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.o"
deleting conftest.* deletes the source file to be compiled !
- at line 14099
$SHELL $CONFIG_STATUS -d $ac_config_status_args || ac_cs_success=false
the -d prevents config.status from failing as it is not able to
delete the temporary directory that is used by a sub-shell
- the same applies to mkmakemod,sh at line 467
${CONFIG_SHELL-/bin/sh} ./config.status -d\
How should I go on from this ?
Best Regards
Fabio
Attachment:
patch-s1
Description: Binary data