From b16913a67e1d0f651293d24f10ccca54a8cc0d08 Mon Sep 17 00:00:00 2001 From: "Juan M. Guerrero" Date: Sat, 15 Oct 2022 19:14:49 -0400 Subject: [PATCH] Support building with DJGPP 2.05 * builddos.bat: Use env var settings for paths. Fix a typo in expand.o. Add the missing load.o compilation and link. Enable Guile support. Copy Basic.mk from the correct location. * src/configh.dos.templage: DJGPP supports strtoll() and ssize_t given new enough versions. Set preprocessor variables to 1 not 0. --- builddos.bat | 17 +++++++++-------- src/configh.dos.template | 9 +++++++-- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/builddos.bat b/builddos.bat index d4ff8a63..d54953e9 100644 --- a/builddos.bat +++ b/builddos.bat @@ -49,14 +49,14 @@ gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/s gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/dir.c -o dir.o gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/file.c -o file.o gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/misc.c -o misc.o -gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/main.c -o main.o -gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -DINCLUDEDIR=\"c:/djgpp/include\" -O2 -g %XSRC%/src/read.c -o read.o -gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -DLIBDIR=\"c:/djgpp/lib\" -O2 -g %XSRC%/src/remake.c -o remake.o +gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -DLOCALEDIR=\"/dev/env/DJDIR/share/locale\" -O2 -g %XSRC%/src/main.c -o main.o +gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -DINCLUDEDIR=\"/dev/env/DJDIR/include\" -O2 -g %XSRC%/src/read.c -o read.o +gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -DLIBDIR=\"/dev/env/DJDIR/lib\" -O2 -g %XSRC%/src/remake.c -o remake.o gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/rule.c -o rule.o gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/implicit.c -o implicit.o gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/default.c -o default.o gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/variable.c -o variable.o -gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/expand.c -o eyxpand.o +gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/expand.c -o expand.o gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/function.c -o function.o gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/vpath.c -o vpath.o gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/hash.c -o hash.o @@ -69,15 +69,16 @@ gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/s gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/getopt.c -o getopt.o gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/getopt1.c -o getopt1.o gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/shuffle.c -o shuffle.o +gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/load.c -o load.o gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/lib/glob.c -o lib/glob.o gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/lib/fnmatch.c -o lib/fnmatch.o @echo off echo commands.o > respf.$$$ -for %%f in (job output dir file misc main read remake rule implicit default variable) do echo %%f.o >> respf.$$$ +for %%f in (job output dir file misc main read remake rule implicit default variable load) do echo %%f.o >> respf.$$$ for %%f in (expand function vpath hash strcache version ar arscan signame remote-stub getopt getopt1 shuffle) do echo %%f.o >> respf.$$$ for %%f in (lib\glob lib\fnmatch) do echo %%f.o >> respf.$$$ -rem gcc -c -I./src -I%XSRC% -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/guile.c -o guile.o -rem echo guile.o >> respf.$$$ +gcc -c -I./src -I%XSRC%/src -I./lib -I%XSRC%/lib -DHAVE_CONFIG_H -O2 -g %XSRC%/src/guile.c -o guile.o +echo guile.o >> respf.$$$ @echo Linking... @echo on gcc -o make.exe @respf.$$$ @@ -85,7 +86,7 @@ gcc -o make.exe @respf.$$$ if not exist make.exe echo Make.exe build failed... if exist make.exe echo make.exe is now built! if exist make.exe del respf.$$$ -if exist make.exe copy /Y Basic.mk Makefile +if exist make.exe copy /Y %XSRC%\Basic.mk Makefile goto End :SmallEnv diff --git a/src/configh.dos.template b/src/configh.dos.template index 3f0f6e0a..26bfe3d5 100644 --- a/src/configh.dos.template +++ b/src/configh.dos.template @@ -78,6 +78,9 @@ this program. If not, see . */ /* Define to 1 if you have the 'strncasecmp' function. */ #define HAVE_STRNCASECMP 1 +/* Define to 1 if you have the `strtoll' function. */ +#define HAVE_STRTOLL 1 + /* Name of the package */ #define PACKAGE "%PACKAGE%" @@ -97,7 +100,7 @@ this program. If not, see . */ #define PACKAGE_VERSION "%VERSION%" /* Output sync support */ -#define NO_OUTPUT_SYNC +#define NO_OUTPUT_SYNC 1 /* Version number of package */ #define VERSION "%VERSION%" @@ -106,7 +109,7 @@ this program. If not, see . */ #define MAKE_HOST "i386-pc-msdosdjgpp" /* Grok DOS paths (drive specs and backslash path element separators) */ -#define HAVE_DOS_PATHS +#define HAVE_DOS_PATHS 1 /* Define the type of the first arg to select(). */ #define fd_set_size_t int @@ -116,7 +119,9 @@ this program. If not, see . */ #define intmax_t long long /* Define to `int' if does not define. */ +#if __DJGPP__ == 2 && __DJGPP_MINOR__ < 5 #define ssize_t int +#endif /* Define to 'unsigned long' or 'unsigned long long' if doesn't define. */