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