Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- * Noweb3 compilation engineering
- Noweb3 compiles on UNIX. It produces the same PDF files as noweb2,
- but it seems simpler as it seems to include its own Lua binary. This
- means it might work on Windows. Let's try to compile it on Windows
- next.
- Compiling on Windows. First, you'll need a working noweb version, so
- you can't do it on Windows. I did the tangling and weaving on UNIX
- and brought the files over, but a fatal problem arises. (See below.)
- The build system is extremely unwisely written. It should be
- rewritten from scratch. On Windows, you can't easily run shell
- scripts. Scripts should be explicitly called as ``sh script''. The
- build system should work on UNIX and Windows.
- The first problem is to figure out WHY sys/wait.h is being used.
- Windows doesn't have this header, I'm afraid. Was it because of the
- generation on UNIX? I doubt it because I think Norman Ramsey did not
- seriously have Windows in mind. Must answer this question and find a
- workaround. Best approach is to code ONE CODE FOR ALL SYSTEMS. See,
- for example, Daniel J Bernstein's packages.
- Icon's homepage:
- https://www2.cs.arizona.edu/icon/current/
- --8<---------------cut here---------------start------------->8---
- %pwd
- c:/emacs/tmp/noweb3/c
- %make
- gcc -ansi -pedantic -g -I../cii/include -I../lua-2.5+nw/include -L../cii -L../lua-2.5+nw/lib -DPLATFORM='"unix"' -Dnw_unix -DNWDEFAULTDIR='"~/tmp/nw3/lib3"' -DTEMPNAM -c -o xpipe.o xpipe.c
- In file included from xpipe.nw:560:0:
- nwprocess.nw:29:13: error: expected declaration specifiers or '...' before '(' token
- _spawnvpe ((mode), (filename), (argvect), environ);
- ^
- nwprocess.nw:29:21: error: expected declaration specifiers or '...' before '(' token
- _spawnvpe ((mode), (filename), (argvect), environ);
- ^
- nwprocess.nw:29:33: error: expected declaration specifiers or '...' before '(' token
- _spawnvpe ((mode), (filename), (argvect), environ);
- ^
- nwprocess.nw:29:44: error: unknown type name 'environ'
- _spawnvpe ((mode), (filename), (argvect), environ);
- ^
- In file included from c:\emacs\mingw\include\unistd.h:54:0,
- from xpipe.nw:624:
- c:\emacs\mingw\include\process.h:80:42: error: conflicting types for '_spawnvpe'
- _CRTIMP intptr_t __cdecl __MINGW_NOTHROW _spawnvpe (int, const char*, const char* const*, const char* const*);
- ^
- In file included from xpipe.nw:560:0:
- nwprocess.nw:21:5: note: previous declaration of '_spawnvpe' was here
- int _spawnvpe ( int mode /* P_WAIT or P_NOWAIT */
- ^
- nwprocess.nw:31:13: error: expected declaration specifiers or '...' before '(' token
- _spawnvpe ((mode), (filename), (argvect), environ);
- ^
- nwprocess.nw:31:21: error: expected declaration specifiers or '...' before '(' token
- _spawnvpe ((mode), (filename), (argvect), environ);
- ^
- nwprocess.nw:31:33: error: expected declaration specifiers or '...' before '(' token
- _spawnvpe ((mode), (filename), (argvect), environ);
- ^
- nwprocess.nw:31:44: error: unknown type name 'environ'
- _spawnvpe ((mode), (filename), (argvect), environ);
- ^
- nwprocess.nw:27:18: error: conflicting types for '_spawnvpe'
- #define spawnvpe _spawnvpe
- ^
- nwprocess.nw:21:5: note: previous declaration of '_spawnvpe' was here
- int _spawnvpe ( int mode /* P_WAIT or P_NOWAIT */
- ^
- xpipe.nw:626:22: fatal error: sys/wait.h: No such file or directory
- #include <sys/wait.h>
- ^
- compilation terminated.
- <builtin>: recipe for target 'xpipe.o' failed
- make: *** [xpipe.o] Error 1
- %--8<---------------cut here---------------end--------------->8---
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement