diff options
author | Eli Zaretskii <eliz@gnu.org> | 2013-05-14 16:26:29 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2013-05-14 16:26:29 +0300 |
commit | 242f84cd211a13c4056d228aaa9bc1f57aa21763 (patch) | |
tree | 8be4635902df1dde1c21e6ca9cb457a2860c73ff /README_d | |
parent | c96323b5e32f54295556809833d2d6a44daa75d0 (diff) | |
download | egawk-242f84cd211a13c4056d228aaa9bc1f57aa21763.tar.gz egawk-242f84cd211a13c4056d228aaa9bc1f57aa21763.tar.bz2 egawk-242f84cd211a13c4056d228aaa9bc1f57aa21763.zip |
Fix building, installing, and testing extensions on MS-Windows.
test/Makefile.in (mpfr-tests, shlib-tests): Add a blank character
between ' and /FOO/ in Gawk command lines, for the benefit of
testing under MSYS Bash.
test/filefuncs.awk (BEGIN): Call 'stat' on gawkapi.o, not on gawk,
which does not exist on systems that produce gawk.exe.
README_D/README.pc: Update the pc build and test instructions.
pc/Makefile.tst (AWK): Set AWKLIBPATH so extensions could be found.
(LS): New variable.
(check): Add back shlib-tests and shlib-msg-end.
(readdir): Add a warning regarding inode reporting by ls.exe.
(fts, fork, fork2): Add message about expected failure on MinGW.
pc/Makefile (install): Install the extensions.
(install-strip): Likewise.
pc/Makefile.ext: New file.
io.c (devopen) [__EMX__ || __MINGW32__]: Produce EISDIR on MinGW
when an attempt to open() a directory fails.
(two_way_open) [__EMX__ || __MINGW32__]: When trying to open() a
directory fails with EISDIR, assign FAKE_FD_VALUE to the file
descriptor and attributes of a directory to its mode bits. This
is needed to support the readdir extension.
gawkapi.h (FAKE_FD_VALUE): New macro, used in io.h and in
extension/gawkdirfd.h.
extension/rwarray.c [__MINGW32__]: Include winsock2.h instead of
arpa/inet.h.
extension/readdir.c [__MINGW32__]: Include windows.h.
Include gawkapi.h before gawkdirfd.h, since the former defines
FAKE_FD_VALUE needed by the latter.
(ftype): Accept an additional argument, the directory that is
being read. Callers changed.
[!DT_BLK]: Produce the file's type by calling 'stat' on it, if the
dirent structure doesn't provide that.
(get_inode): New function, to produce inode values on MS-Windows.
(dir_get_record): Use it.
extension/inplace.c (chown, link) [__MINGW32__]: Redirect to existing
library functions.
(mkstemp) [__MINGW32__]: New function, for MinGW, which doesn't
have it in its library.
(do_inplace_end) [__MINGW32__]: Remove the old file before
renaming the new, since 'rename' on Windows cannot overwrite
existing files.
extension/gawkdirfd.h (ENOTSUP): Define to ENOSYS if not already defined.
(DIR_TO_FD): If not defined yet, define to FAKE_FD_VALUE.
extension/filefuncs.c (get_inode) [_WIN32]: New function, produces the
file index used on Windows as its inode.
(fill_stat_array) [_WIN32]: Use it.
Diffstat (limited to 'README_d')
-rw-r--r-- | README_d/ChangeLog | 4 | ||||
-rw-r--r-- | README_d/README.pc | 15 |
2 files changed, 15 insertions, 4 deletions
diff --git a/README_d/ChangeLog b/README_d/ChangeLog index 814b2724..3bd99ad0 100644 --- a/README_d/ChangeLog +++ b/README_d/ChangeLog @@ -1,3 +1,7 @@ +2013-05-14 Eli Zaretskii <eliz@gnu.org> + + * README.pc: Update the pc build and test instructions. + 2013-05-09 Arnold D. Robbins <arnold@skeeve.com> * 4.1.0: Release tar ball made. diff --git a/README_d/README.pc b/README_d/README.pc index d989e5ca..9971d7ba 100644 --- a/README_d/README.pc +++ b/README_d/README.pc @@ -28,7 +28,8 @@ Copy the files in the `pc' directory (EXCEPT for `ChangeLog') to the directory with the rest of the gawk sources. (The subdirectories of `pc' need not be copied.) The Makefile contains a configuration section with comments, and may need to be edited in order to work -with your make utility. +with your make utility. If you are building with MinGW, copy the +file Makefile.ext to extension/Makefile. The "prefix" line in the Makefile is used during the install of gawk (and in building igawk.bat and igawk.cmd). Since the libraries for @@ -40,6 +41,10 @@ OS/2 versions. A list of targets will be printed if the make command is given without a target. As an example, to build gawk using the djgpp tools, enter "make djgpp". +For the MinGW build, after you build in the top-level directory, chdir +to the extension subdirectory and say "make" there to build the +extensions. + Testing and installing gawk --------------------------- @@ -54,9 +59,11 @@ and batch files. See the configuration section of the makefile. The file test/Makefile will need some editing (especially for DOS). A sample makefile with comments appears in pc/Makefile.tst, and can be -used to modify test/Makefile for your platform. In addition, some -files in the test directory may need to have their end-of-line markers -converted, as described in Makefile.tst. +used to modify test/Makefile for your platform. For starters, just +copy pc/Makefile.tst to test/Makefile, then walk through the variables +defined at the beginning and change them as appropriate for your +setup. In addition, some files in the test directory may need to have +their end-of-line markers converted, as described in Makefile.tst. As with building gawk, the OS, shell, and long filename issues come into play when testing, too. If you are testing gawk on a LFN aware system with |