From 4ea14b25dfcd5fe599db8cf2e3976f993b5490cc Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 19 Dec 2003 08:03:48 +0000 Subject: [PATCH] Gisle Vanem's djgpp fixes --- packages/DOS/common.dj | 130 +++++++++++++++++++++++------------------ src/makefile.dj | 107 ++++++++++++++++++--------------- 2 files changed, 133 insertions(+), 104 deletions(-) diff --git a/packages/DOS/common.dj b/packages/DOS/common.dj index 32208f62a..4cf95c79d 100644 --- a/packages/DOS/common.dj +++ b/packages/DOS/common.dj @@ -1,56 +1,74 @@ -# -# Common defines for curl (djgpp/Watt-32) -# -# Assumes you've unpacked cURL with short-file names -# I.e use "set LFN=n" before untaring on Win9x/XP. -# Requires sed, yacc, rm and the usual stuff. -# - -.SUFFIXES: .exe .y - -MAKEFILE = Makefile.dj - -# -# OpenSSL is available from www.openssl.org and builds okay -# with djgpp/Watt-32. Set to 0 if you don't need https URLs -# (reduces curl.exe with approx 700 kB) -# -USE_SSL = 1 - -default: all - -# -# Root directory for Waterloo tcp/ip. WATT_ROOT should be set -# during Watt-32 install. -# -WATT32_ROOT = $(subst \,/,$(WATT_ROOT)) -OPENSSL_ROOT = /net/openssl.098 -ZLIB_ROOT = $(DJDIR)/contrib/zlib - -CC = gcc -YACC = bison -y - -CFLAGS = -g -O2 -I. -I../include -Wall -DHAVE_CONFIG_H - -ifeq ($(USE_SSL),1) - CFLAGS += -DUSE_SSLEAY -DHAVE_OPENSSL_ENGINE_H -endif - -# -# Generated dependencies; Due to some hacks in gcc 2.95+ and djgpp 2.03 -# we must prevent "$(DJDIR)/bin/../include/sys/version.h" from beeing -# included in dependency output (or else this makefile cannot be used on -# another machine). We therefore use a special 'specs' file during -# pre-processing. -# -MM_SPECS = $(TMPDIR)/specs - -depend: $(DEPEND_PREREQ) - @echo Generating dependencies.. - @copy $(MAKEFILE) Makefile.bak - @echo "*cpp: %(cpp_cpu) %{posix:-D_POSIX_SOURCE} -remap" > $(MM_SPECS) - sed -e "/^# DO NOT DELETE THIS LINE/,$$d" < Makefile.bak > $(MAKEFILE) - echo "# DO NOT DELETE THIS LINE" >> $(MAKEFILE) - $(CC) -MM -specs=$(MM_SPECS) $(CFLAGS) $(SOURCES) >> $(MAKEFILE) - rm -f $(MM_SPECS) - +# +# Common defines for curl (djgpp/Watt-32) +# +# Assumes you've unpacked cURL with short-file names +# I.e use "set LFN=n" before untaring on Win9x/XP. +# Requires sed, yacc, rm and the usual stuff. +# + +.SUFFIXES: .exe .y + +MAKEFILE = Makefile.dj + +# +# OpenSSL is available from www.openssl.org and builds okay +# with djgpp/Watt-32. Set to 0 if you don't need https URLs +# (reduces curl.exe with approx 700 kB) +# +USE_SSL = 0 + +# +# Use zlib for contents encoding +# +USE_ZLIB = 0 + +# +# Use Watt-32 IPv6 stack (only IPv6 name resolution working at the moment) +# +USE_IPV6 = 1 + +default: all + +# +# Root directory for Waterloo tcp/ip etc. Change to suite. +# WATT_ROOT should be set during Watt-32 install. +# +WATT32_ROOT = $(subst \,/,$(WATT_ROOT)) +OPENSSL_ROOT = /net/openssl.098 +ZLIB_ROOT = /djgpp/contrib/zlib.121 + +CC = gcc +YACC = bison -y + +CFLAGS = -g -O2 -I. -I../include -Wall -DHAVE_CONFIG_H -DHAVE_SPNEGO + +ifeq ($(USE_SSL),1) + CFLAGS += -DUSE_SSLEAY +endif + +ifeq ($(USE_ZLIB),1) + CFLAGS += -DUSE_ZLIB -I$(ZLIB_ROOT) +endif + +ifeq ($(USE_IPV6),1) + CFLAGS += -DENABLE_IPV6 +endif + +# +# Generated dependencies; Due to some hacks in gcc 2.95+ and djgpp 2.03 +# we must prevent "$(DJDIR)/bin/../include/sys/version.h" from beeing +# included in dependency output (or else this makefile cannot be used on +# another machine). We therefore use a special 'specs' file during +# pre-processing. +# +MM_SPECS = ./specs.dj + +depend: $(DEPEND_PREREQ) + @echo Generating dependencies.. + @copy $(MAKEFILE) Makefile.bak + @echo "*cpp: %(cpp_cpu) %{posix:-D_POSIX_SOURCE} -remap" > $(MM_SPECS) + sed -e "/^# DO NOT DELETE THIS LINE/,$$d" < Makefile.bak > $(MAKEFILE) + echo "# DO NOT DELETE THIS LINE" >> $(MAKEFILE) + $(CC) -MM -specs=$(MM_SPECS) $(CFLAGS) $(SOURCES) >> $(MAKEFILE) + rm -f $(MM_SPECS) + diff --git a/src/makefile.dj b/src/makefile.dj index e84ba0284..5e2102a7e 100644 --- a/src/makefile.dj +++ b/src/makefile.dj @@ -1,48 +1,59 @@ -# -# Adapted for djgpp2 / Watt-32 / DOS by -# Gisle Vanem -# - -DEPEND_PREREQ = config.h - -include ../packages/DOS/common.dj - -ifeq ($(USE_SSL),1) - EX_LIBS = $(OPENSSL_ROOT)/lib/libssl.a $(OPENSSL_ROOT)/lib/libcrypt.a -endif - -EX_LIBS += $(WATT32_ROOT)/lib/libwatt.a $(ZLIB_ROOT)/libz.a - -BIN = ../curl.exe -SOURCES = hugehelp.c main.c urlglob.c writeenv.c writeout.c -OBJECTS = $(SOURCES:.c=.o) - -all: config.h $(BIN) - -$(BIN): $(OBJECTS) ../lib/libcurl.a - $(CC) -o $@ $^ $(EX_LIBS) - -config.h: - @echo '#include "../lib/config.dj"' > $@ - -hugehelp.c: ../docs/curl.1 - groff -man $^ | perl mkhelp.pl ../readme > $@ - -clean: - - rm -f $(OBJECTS) Makefile.bak config.h - -vclean: clean - - rm -f $(BIN) hugehelp.c - -# DO NOT DELETE THIS LINE -hugehelp.o: hugehelp.c -main.o: main.c setup.h config.h ../lib/config.dj ../include/curl/curl.h \ - ../include/curl/types.h ../include/curl/easy.h ../include/curl/multi.h \ - ../include/curl/mprintf.h urlglob.h writeout.h version.h -urlglob.o: urlglob.c setup.h config.h ../lib/config.dj \ - ../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \ - ../include/curl/multi.h urlglob.h -writeenv.o: writeenv.c setup.h config.h ../lib/config.dj -writeout.o: writeout.c setup.h config.h ../lib/config.dj \ - ../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \ - ../include/curl/multi.h ../include/curl/mprintf.h writeout.h +# +# Adapted for djgpp2 / Watt-32 / DOS by +# Gisle Vanem +# + +DEPEND_PREREQ = config.h hugehelp.c + +include ../packages/DOS/common.dj + +ifeq ($(USE_SSL),1) + EX_LIBS += $(OPENSSL_ROOT)/lib/libssl.a $(OPENSSL_ROOT)/lib/libcrypt.a +endif + +ifeq ($(USE_ZLIB),1) + EX_LIBS += $(ZLIB_ROOT)/libz.a +endif + +EX_LIBS += $(WATT32_ROOT)/lib/libwatt.a + +PROGRAM = ../curl.exe +SOURCES = getpass.c homedir.c hugehelp.c main.c urlglob.c writeenv.c writeout.c +OBJECTS = $(SOURCES:.c=.o) + +all: config.h $(PROGRAM) + +$(PROGRAM): $(OBJECTS) ../lib/libcurl.a + $(CC) -o $@ $^ $(EX_LIBS) + +config.h: + @echo '#include "../lib/config.dj"' > $@ + +# +# groff 1.18+ requires "-P -c" +# +hugehelp.c: ../docs/MANUAL ../docs/curl.1 mkhelp.pl + groff -Tascii -man ../docs/curl.1 | \ + perl -w mkhelp.pl ../docs/MANUAL ../readme > $@ + +clean: + - rm -f $(OBJECTS) Makefile.bak config.h + +realclean vclean: clean + - rm -f $(PROGRAM) hugehelp.c + +# DO NOT DELETE THIS LINE +getpass.o: getpass.c setup.h config.h ../lib/config.dj +homedir.o: homedir.c setup.h config.h ../lib/config.dj +hugehelp.o: hugehelp.c +main.o: main.c setup.h config.h ../lib/config.dj ../include/curl/curl.h \ + ../include/curl/types.h ../include/curl/easy.h ../include/curl/multi.h \ + ../include/curl/mprintf.h urlglob.h writeout.h getpass.h homedir.h \ + version.h +urlglob.o: urlglob.c setup.h config.h ../lib/config.dj \ + ../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \ + ../include/curl/multi.h ../include/curl/mprintf.h urlglob.h +writeenv.o: writeenv.c setup.h config.h ../lib/config.dj +writeout.o: writeout.c setup.h config.h ../lib/config.dj \ + ../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \ + ../include/curl/multi.h ../include/curl/mprintf.h writeout.h