Date: Sat, 26 Oct 2002 10:43:18 +0300 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: djgpp AT delorie DOT com Message-Id: <2950-Sat26Oct2002104318+0200-eliz@is.elta.co.il> X-Mailer: emacs 21.3.50 (via feedmail 8 I) and Blat ver 1.8.9 CC: "Andrew Cottrell" Subject: Patch for Make 3.80 Reply-To: djgpp AT delorie DOT com Sorry for the long delay. Below is a patch for GNU Make 3.80 to make it build with DJGPP. Before you build, you will also have to rename a few files whose names clash on 8+3 filesystems. Here are those renames: make-3.80/tests/scripts/variables/MAKEFILE_LIST -> make-3.80/tests/scripts/variables/MAK_LIST make-3.80/config/inttypes_h.m4 -> make-3.80/config/inttyp_h.m4 make-3.80/config/inttypes-pri.m4 -> make-3.80/config/inttp-pri.m4 Please tell me if you still have any problems after applying this patch and rebuilding. 2002-10-09 Eli Zaretskii * Makefile.DOS (INFO_DEPS, DVIS, TEXINFOS, doc/make.info) (doc/make.dvi, .texinfo.info, .texinfo, install-info-am) (uninstall-info): Use doc/*, since docs is now in a subdirectory, but remove the `doc/' part when installing or uninstalling. * hash.c (round_up_2): Use 4294967295U to avoid compiler warnings. * dosbuild.bat: Add compilation of hash.c. --- Makefile.DOS~ 2002-10-09 12:45:46.000000000 +0200 +++ Makefile.DOS 2002-10-09 12:42:56.000000000 +0200 @@ -104,9 +104,9 @@ LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@ TEXI2DVI = texi2dvi TEXINFO_TEX = $(srcdir)/config/texinfo.tex -INFO_DEPS = make.info -DVIS = make.dvi -TEXINFOS = make.texinfo +INFO_DEPS = doc/make.info +DVIS = doc/make.dvi +TEXINFOS = doc/make.texinfo man1dir = $(mandir)/man1 MANS = $(man_MANS) @@ -174,21 +174,21 @@ @command.com /c if exist make.exe del make.exe $(LINK) $(make_LDFLAGS) $(make_OBJECTS) $(make_LDADD) $(LIBS) -make.info: make.texinfo -make.dvi: make.texinfo +doc/make.info: doc/make.texinfo +doc/make.dvi: doc/make.texinfo DVIPS = dvips .texinfo.info: - @command.com /c if exist make.info* del make.info* - @command.com /c if exist make.i* del make.i* - $(MAKEINFO) -I$(srcdir) $< -o ./$@ + @command.com /c if exist doc\make.info* del doc\make.info* + @command.com /c if exist doc\make.i* del doc\make.i* + $(MAKEINFO) -I$(srcdir)/doc $< -o ./$@ .texinfo: - @command.com /c if exist make.info* del make.info* - @command.com /c if exist make.i* del make.i* - $(MAKEINFO) -I$(srcdir) $< -o ./$@ + @command.com /c if exist doc\make.info* del doc\make.info* + @command.com /c if exist doc\make.i* del doc\make.i* + $(MAKEINFO) -I$(srcdir)/doc $< -o ./$@ .texinfo.dvi: TEXINPUTS="$(srcdir);$$TEXINPUTS" MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< @@ -200,15 +200,15 @@ install-info-am: $(INFO_DEPS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(infodir) - @for file in $(INFO_DEPS) make.i; do d=$(srcdir); for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9] $$file[0-9] $$file[0-9][0-9]`; do if test -f $$d/$$ifile; then echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; else : ; fi; done; done + @for file in $(INFO_DEPS) doc/make.i; do d=$(srcdir); for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9] $$file[0-9] $$file[0-9][0-9]`; do if test -f $$d/$$ifile; then echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/`echo $$ifile | sed -e 's,doc/,,'`"; $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/`echo $$ifile | sed -e 's,doc/,,'`; else : ; fi; done; done @$(POST_INSTALL) - @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then for file in $(INFO_DEPS); do echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file"; install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :; done; else : ; fi + @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then for file in $(INFO_DEPS); do echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/`echo $$file | sed -e 's,doc/,,'`"; install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/`echo $$file | sed -e 's,doc/,,'` || :; done; else : ; fi uninstall-info: $(PRE_UNINSTALL) - @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then ii=yes; else ii=; fi; for file in $(INFO_DEPS); do test -z $ii || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; done + @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then ii=yes; else ii=; fi; for file in $(INFO_DEPS); do test -z $ii || install-info --info-dir=$(DESTDIR)$(infodir) --remove `echo $$file | sed -e 's,doc/,,'`; done $(NORMAL_UNINSTALL) - for file in $(INFO_DEPS) make.i; do (cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9] $$file[0-9] $$file[0-9][0-9]); done + for file in $(INFO_DEPS) doc/make.i; do (cd $(DESTDIR)$(infodir) && rm -f `echo $$file | sed -e 's,doc/,,'` `echo $$file | sed -e 's,doc/,,'`-[0-9] `echo $$file | sed -e 's,doc/,,'`-[0-9][0-9] `echo $$file | sed -e 's,doc/,,'`[0-9] `echo $$file | sed -e 's,doc/,,'`[0-9][0-9]); done dist-info: $(INFO_DEPS) for base in $(INFO_DEPS); do d=$(srcdir); for file in `cd $$d && eval echo $$base*`; do test -f $(distdir)/$$file || ln $$d/$$file $(distdir)/$$file 2> /dev/null || cp -p $$d/$$file $(distdir)/$$file; done; done --- hash.c~ 2002-09-18 07:35:52.000000000 +0300 +++ hash.c 2002-10-09 12:13:28.000000000 +0200 @@ -360,7 +360,7 @@ round_up_2 (n) n |= (n >> 8); n |= (n >> 16); -#if !defined(HAVE_LIMITS_H) || ULONG_MAX > 4294967295 +#if !defined(HAVE_LIMITS_H) || ULONG_MAX > 4294967295U /* We only need this on systems where unsigned long is >32 bits. */ n |= (n >> 32); #endif --- dosbuild.bat~ 2002-07-08 16:05:02.000000000 +0300 +++ dosbuild.bat 2002-10-09 13:12:20.000000000 +0200 @@ -19,6 +19,7 @@ gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g version.c -o version.o gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g ar.c -o ar.o gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g arscan.c -o arscan.o +gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g hash.c -o hash.o gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g signame.c -o signame.o gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g remote-stub.c -o remote-stub.o gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g getopt.c -o getopt.o @@ -31,7 +32,7 @@ @echo off cd .. echo commands.o > respf.$$$ -for %%f in (job dir file misc main read remake rule implicit default variable) do echo %%f.o >> respf.$$$ +for %%f in (job dir file misc main read remake rule implicit default variable hash) do echo %%f.o >> respf.$$$ for %%f in (expand function vpath version ar arscan signame remote-stub getopt getopt1) do echo %%f.o >> respf.$$$ echo glob/libglob.a >> respf.$$$ @echo Linking...