Build feedback filtered by a script which filters out -Dthis -Wthat:
gcc -g -I../include -I../lib/lua-/src -c ../win/share/tilemap.c
The second -I is obsolete or else its bogus value would have caused
build failure. When removing it, I noticed that there was still quite
a bit of obsolete yacc and lex stuff in there. Remove that too.
Some platforms compile ncurses in such a way that the tinfo library needs to
be separately linked in (e.g. Gentoo).
The tinfo library is a low-level library being used by and bundled with
ncurses.
Adding '-ltinfo' to WINTTYLIB in the hint files was considered the most robust
solution to this problem. This still works on systems with ncurses 5.9.
Using pkg-config was ruled out as the default build of ncurses doesn't install
the necessary files.
In sys/unix/Makefile.{top,src}, move the 'all' target first so that
it's the default if no target is specified. Recent lua handling
unintentionally broke that for Makefile.top by putting 'lua_support'
target in front of 'all'.
In order for 'make depend' to be able to handle both Qt4/5 and Qt3,
they need to operate on different object file names.
renames qt*.o to qt3*.o for Qt3
renames qt*.cpp to qt3*.cpp for Qt3 (not essential but seems worthwhile)
moves Qt3's headers from include/qt*.h to win/Qt3/qt3*.h
copies include/qt_xpms.h (before rename) or win/Qt3/qt3_xpms.h (after)
to win/Qt/qt_xpms.h so that Qt4/5 no longer shares one header file
modifies win/Qt3/*.cpp and win/Qt3/qt3_win.h to reflect new header names
modifies Makefile.src to have Qt3 'moc' commands use new names
updates Makefile.src via re-running 'make depend'
'make depend' was only looking at include/*.h to find nested inclusion.
Now it will also look at win/*/*.h. That found a bunch of missing
dependencies for the old gnome sources and a few for Qt3.
Building without Qt still works. Building with it (any version) has
not been tested.
I deleted three lines
../include/../lib/lua-5.3.5/src/lua.h \
../include/../lib/lua-5.3.5/src/lualib.h \
../include/../lib/lua-5.3.5/src/lauxlib.h \
from $(CONFIG_H) but other than that, this is as-is with unmodified
'make depend'. depend.awk will need to be taught about suppressing
those lua headers.
Copy lib/lua-$(VERSION)/src/liblua.h to lib/lua/ rather than lib/.
Instead of copying any of the header files or telling the compiler
where to find the lua ones, generate include/nhlua.h on the fly and
restrict the knowledge of where they are to it (paths are relative
to include/).
|/* nhlua.h - generated by top Makefile */
|#include "../lib/lua-5.3.5/src/lua.h"
|LUA_API int (lua_error) (lua_State *L) NORETURN;
|#include "../lib/lua-5.3.5/src/lualib.h"
|#include "../lib/lua-5.3.5/src/lauxlib.h"
|/*nhlua.h*/
This might need to be redone (or augmented by having CFLAGS add back
'-I path-to-lua') if some compiler can't find '#include "luaconf.h"'
issued by lua.h.
Reduce the implied reliance of a specific version of lua.
Instead of copying liblua.a to src/, copy it to lib/. Instead of
telling the compiler to look for headers in lib/lua-5.3.5/src/ as
well as in include/, copy the relevant ones to lib/ and tell the
compiler to look for them there. 'make spotless' in src/ will
remove both the object library and the header files from lib/ but
there really should be a new Makefile.lib to take care of that
directory.
Update Makefile.src to be able to build lua in case someone starts
with 'make all' there instead of in the top Makefile. It doesn't
duplicate the option to fetch the lua source package though.
NHinternal/../genFiles.c has been updated to mention lib/liblua.a
and lib/lua*.h as 'generated at compile time' in Files and to skip
lib/lua-* entirely if it comes across that (so not operating on a
completely clean tree). But it won't be accurate unless/until
other ports stage their lua files there instead of in src/ and
lib/lua-$(VERSION)/src/.
I haven't tried 'make depend' to see what it makes of the numerous
changes....
Unix Makefile.utl wasn't aware of the dependency of makedefs.o on
src/mdlib.c so didn't rebuild makedefs when it should have.
Eliminate several warnings:
mdlib.c - #if inside the arguments to macro Sprintf();
nhlua.c - nhl_error() ends with a call to lua_error() which doesn't
return, but neither of them were declared that way;
nhlsel.c - because of the previous, the 'else error' case of
l_selection_ellipse() led to complaints about uninitialized
variables;
sp_lev.c - missing 'const'.
I did minimal testing which went ok, but revisiting a couple of levels
gave me un-freed memory allocated by restore.c line 1337. (I haven't
looked at that at all.)
A comment in macosx10.14 describing how to create a signed package
had the last sample command wrong. Fix it now in case that part
carries over to hypothetical--but likely--new macosx10.15 hints.
Also, shorten a couple of wide comment lines in the same area.