Changelog
+Daniel (21 May)
+- Gisle Vanem made curl build with djgpp on DOS.
+
+- Gisle Vanem improved the mkhelp.pl script to make a nicer manual that is
+ shown with curl -M.
+
+Daniel (20 May)
+- Gisle Vanem provided a fix that makes libcurl more conservative, not
+ expecting h_aliases of the hostent struct to always be non-NULL.
+
Daniel (19 May)
- As requested by Martin Michlmayr in Debian bug report #193630, libcurl now
supports user name and password in the proxy environment variables. Added
cd ..\src
nmake -f Makefile.vc6
+djgpp:
+ make -C lib -f Makefile.dj
+ make -C src -f Makefile.dj
+
cygwin:
./configure
make
multithread.c getinmemory.c ftpupload.c httpput.c \
simplessl.c ftpgetresp.c http-post.c post-callback.c \
multi-app.c multi-double.c multi-single.c multi-post.c \
- fopen.c simplepost.c
+ fopen.c simplepost.c makefile.dj
all:
@echo "done"
--- /dev/null
+#\r
+# Adapted for djgpp / Watt-32 / DOS by\r
+# Gisle Vanem <giva@bgnett.no>\r
+#\r
+\r
+include ../../packages/DOS/common.dj\r
+\r
+CFLAGS += -I../../include\r
+\r
+LIBS = ../../lib/libcurl.a\r
+\r
+ifeq ($(USE_SSL),1)\r
+ LIBS += $(OPENSSL_ROOT)/lib/libssl.a $(OPENSSL_ROOT)/lib/libcrypt.a\r
+endif\r
+\r
+LIBS += $(WATT32_ROOT)/lib/libwatt.a $(ZLIB_ROOT)/libz.a\r
+\r
+PROGRAMS = fopen.exe ftpget.exe ftpgetre.exe ftpuploa.exe getinmem.exe \\r
+ http-pos.exe httpput.exe multi-ap.exe multi-do.exe \\r
+ multi-po.exe multi-si.exe persista.exe post-cal.exe \\r
+ postit2.exe sepheade.exe simple.exe simpless.exe\r
+\r
+all: $(PROGRAMS)\r
+\r
+.c.exe:\r
+ $(CC) $(CFLAGS) -o $@ $^ $(LIBS)\r
+ @echo\r
+\r
+clean:\r
+ rm -f $(PROGRAMS)\r
+\r
EXTRA_DIST = getdate.y Makefile.b32 Makefile.b32.resp Makefile.m32 \
Makefile.vc6 Makefile.riscos libcurl.def curllib.dsp \
curllib.dsw config-vms.h config-win32.h config-riscos.h config-mac.h \
- config.h.in ca-bundle.crt README.encoding README.memoryleak
+ config.h.in ca-bundle.crt README.encoding README.memoryleak \
+ makefile.dj config.dj
lib_LTLIBRARIES = libcurl.la
--- /dev/null
+#ifndef _CURL_CONFIG_DJGPP_H\r
+#define _CURL_CONFIG_DJGPP_H\r
+\r
+#define OS "djgpp"\r
+#define PACKAGE "curl"\r
+\r
+#define CURL_CA_BUNDLE "/dev/env/CURL_CA_BUNDLE"\r
+\r
+#if (DJGPP_MINOR >= 4)\r
+/* #define HAVE_DLOPEN 1 maybe not (DXE3) */\r
+#endif\r
+\r
+#if 1 /* use ioctlsocket() via fsext'ed fcntl() */\r
+ #define HAVE_O_NONBLOCK 1\r
+#else\r
+ #define HAVE_IOCTLSOCKET 1\r
+#endif\r
+\r
+#define HAVE_ALARM 1\r
+#define HAVE_ARPA_INET_H 1\r
+#define HAVE_CLOSESOCKET 1\r
+#define HAVE_FCNTL_H 1\r
+#define HAVE_GETHOSTBYADDR 1\r
+#define HAVE_GETHOSTNAME 1\r
+#define HAVE_GETPASS 1\r
+#define HAVE_GETSERVBYNAME 1\r
+#define HAVE_GETTIMEOFDAY 1\r
+#define HAVE_INET_ADDR 1\r
+#define HAVE_INET_NTOA 1\r
+#define HAVE_IO_H 1\r
+#define HAVE_MALLOC_H 1\r
+#define HAVE_MEMORY_H 1\r
+#define HAVE_NETDB_H 1\r
+#define HAVE_NETINET_IN_H 1\r
+#define HAVE_NET_IF_H 1\r
+#define HAVE_PERROR 1\r
+#define HAVE_SELECT 1\r
+#define HAVE_SETJMP_H 1\r
+#define HAVE_SETVBUF 1\r
+#define HAVE_SIGNAL 1\r
+#define HAVE_SIGACTION 1\r
+#define HAVE_SIGSETJMP 1\r
+#define HAVE_SOCKET 1\r
+#define HAVE_STRCASECMP 1\r
+#define HAVE_STRDUP 1\r
+#define HAVE_STRFTIME 1\r
+#define HAVE_STRICMP 1\r
+#define HAVE_STRSTR 1\r
+#define HAVE_SYS_SOCKET_H 1\r
+#define HAVE_SYS_STAT_H 1\r
+#define HAVE_SYS_TYPES_H 1\r
+#define HAVE_TERMIOS_H 1\r
+#define HAVE_TIME_H 1\r
+#define HAVE_UNAME 1\r
+#define HAVE_UNISTD_H 1\r
+#define HAVE_VPRINTF 1\r
+\r
+#define RETSIGTYPE void\r
+#define SIZEOF_LONG_DOUBLE 16\r
+#define SIZEOF_LONG_LONG 8\r
+#define STDC_HEADERS 1\r
+#define TIME_WITH_SYS_TIME 1\r
+\r
+#define BSD\r
+#define USE_ZLIB\r
+\r
+/* #define MALLOCDEBUG */\r
+\r
+#ifdef HAVE_OPENSSL_ENGINE_H /* on cmd-line */\r
+ #define HAVE_OPENSSL_X509_H 1\r
+ #define HAVE_OPENSSL_SSL_H 1\r
+ #define HAVE_OPENSSL_RSA_H 1\r
+ #define HAVE_OPENSSL_PEM_H 1\r
+ #define HAVE_OPENSSL_ERR_H 1\r
+ #define HAVE_OPENSSL_CRYPTO_H 1\r
+ #define HAVE_LIBSSL 1\r
+ #define HAVE_LIBCRYPTO 1\r
+ #define OPENSSL_NO_KRB5 1\r
+#endif\r
+\r
+#define in_addr_t u_long\r
+#define socklen_t int\r
+#define ssize_t int\r
+\r
+#include <stdlib.h>\r
+#include <string.h>\r
+#include <tcp.h> /* Watt-32 API */\r
+\r
+#undef word\r
+\r
+#endif /* _CURL_CONFIG_DJGPP_H */\r
+\r
char infp_fclose = 0;
FILE *outfp;
RETSIGTYPE (*sigint)();
-#ifndef __EMX__
+#if !defined(__EMX__) && !defined(__DJGPP__)
RETSIGTYPE (*sigtstp)();
#endif
size_t bytes_read;
sigint = signal(SIGINT, SIG_IGN);
/* 20000318 mgs
* this is needed by the emx system, SIGTSTP is not a supported signal */
-#ifndef __EMX__
+#if !defined(__EMX__) && !defined(__DJGPP__)
sigtstp = signal(SIGTSTP, SIG_IGN);
#endif
#endif
signal(SIGINT, sigint);
-#ifndef __EMX__
+#if !defined(__EMX__) && !defined(__DJGPP__)
signal(SIGTSTP, sigtstp);
#endif
--- /dev/null
+#\r
+# Adapted for djgpp2 / Watt-32 / DOS by\r
+# Gisle Vanem <giva@bgnett.no>\r
+#\r
+\r
+DEPEND_PREREQ = config.h getdate.c\r
+\r
+include ../packages/DOS/common.dj\r
+\r
+ifeq ($(USE_SSL),1)\r
+ CFLAGS += -I$(OPENSSL_ROOT)\r
+endif\r
+\r
+SOURCES = base64.c connect.c content_.c cookie.c dict.c \\r
+ easy.c escape.c file.c formdata.c ftp.c \\r
+ getdate.c getenv.c getinfo.c getpass.c hash.c \\r
+ hostip.c http.c http_chu.c if2ip.c krb4.c \\r
+ ldap.c llist.c memdebug.c mprintf.c multi.c \\r
+ netrc.c progress.c security.c sendf.c share.c \\r
+ speedche.c ssluse.c strequal.c strtok.c telnet.c \\r
+ timeval.c transfer.c url.c version.c\r
+\r
+OBJECTS = $(SOURCES:.c=.o)\r
+CURL_LIB = libcurl.a\r
+\r
+all: config.h $(CURL_LIB)\r
+\r
+$(CURL_LIB): $(OBJECTS)\r
+ ar rs $@ $?\r
+\r
+config.h: config.dj\r
+ @echo '#include "./config.dj"' > $@\r
+\r
+getdate.c: getdate.y\r
+ $(YACC) -o $@ $^\r
+\r
+clean:\r
+ - rm -f $(OBJECTS) $(CURL_LIB) Makefile.bak config.h getdate.c\r
+\r
+# DO NOT DELETE THIS LINE\r
+base64.o: base64.c setup.h config.h config.dj ../include/curl/mprintf.h \\r
+ base64.h\r
+connect.o: connect.c setup.h config.h config.dj urldata.h cookie.h \\r
+ ../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \\r
+ ../include/curl/multi.h formdata.h timeval.h http_chunks.h hostip.h \\r
+ hash.h llist.h sendf.h if2ip.h\r
+content_.o: content_.c setup.h config.h config.dj\r
+cookie.o: cookie.c setup.h config.h config.dj cookie.h \\r
+ ../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \\r
+ ../include/curl/multi.h getdate.h strequal.h strtok.h\r
+dict.o: dict.c setup.h config.h config.dj urldata.h cookie.h \\r
+ ../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \\r
+ ../include/curl/multi.h formdata.h timeval.h http_chunks.h hostip.h \\r
+ hash.h llist.h transfer.h sendf.h progress.h strequal.h \\r
+ ../include/curl/mprintf.h\r
+easy.o: easy.c setup.h config.h config.dj strequal.h urldata.h cookie.h \\r
+ ../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \\r
+ ../include/curl/multi.h formdata.h timeval.h http_chunks.h hostip.h \\r
+ hash.h llist.h transfer.h ssluse.h url.h getinfo.h \\r
+ ../include/curl/mprintf.h\r
+escape.o: escape.c setup.h config.h config.dj ../include/curl/curl.h \\r
+ ../include/curl/types.h ../include/curl/easy.h ../include/curl/multi.h\r
+file.o: file.c setup.h config.h config.dj urldata.h cookie.h \\r
+ ../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \\r
+ ../include/curl/multi.h formdata.h timeval.h http_chunks.h hostip.h \\r
+ hash.h llist.h progress.h sendf.h escape.h ../include/curl/mprintf.h\r
+formdata.o: formdata.c setup.h config.h config.dj ../include/curl/curl.h \\r
+ ../include/curl/types.h ../include/curl/easy.h ../include/curl/multi.h \\r
+ formdata.h strequal.h\r
+ftp.o: ftp.c setup.h config.h config.dj ../include/curl/curl.h \\r
+ ../include/curl/types.h ../include/curl/easy.h ../include/curl/multi.h \\r
+ urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h \\r
+ llist.h sendf.h if2ip.h progress.h transfer.h escape.h http.h ftp.h \\r
+ strequal.h ssluse.h connect.h ../include/curl/mprintf.h\r
+getdate.o: getdate.c setup.h config.h config.dj getdate.h\r
+getenv.o: getenv.c setup.h config.h config.dj\r
+getinfo.o: getinfo.c setup.h config.h config.dj ../include/curl/curl.h \\r
+ ../include/curl/types.h ../include/curl/easy.h ../include/curl/multi.h \\r
+ urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h \\r
+ llist.h\r
+getpass.o: getpass.c setup.h config.h config.dj\r
+hash.o: hash.c setup.h config.h config.dj hash.h llist.h\r
+hostip.o: hostip.c setup.h config.h config.dj urldata.h cookie.h \\r
+ ../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \\r
+ ../include/curl/multi.h formdata.h timeval.h http_chunks.h hostip.h \\r
+ hash.h llist.h sendf.h share.h ../include/curl/mprintf.h\r
+http.o: http.c setup.h config.h config.dj urldata.h cookie.h \\r
+ ../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \\r
+ ../include/curl/multi.h formdata.h timeval.h http_chunks.h hostip.h \\r
+ hash.h llist.h transfer.h sendf.h progress.h base64.h strequal.h \\r
+ ssluse.h ../include/curl/mprintf.h\r
+http_chu.o: http_chu.c setup.h config.h config.dj urldata.h cookie.h \\r
+ ../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \\r
+ ../include/curl/multi.h formdata.h timeval.h http_chunks.h hostip.h \\r
+ hash.h llist.h sendf.h content_encoding.h ../include/curl/mprintf.h\r
+if2ip.o: if2ip.c setup.h config.h config.dj\r
+krb4.o: krb4.c setup.h config.h config.dj\r
+ldap.o: ldap.c setup.h config.h config.dj urldata.h cookie.h \\r
+ ../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \\r
+ ../include/curl/multi.h formdata.h timeval.h http_chunks.h hostip.h \\r
+ hash.h llist.h sendf.h escape.h transfer.h ../include/curl/mprintf.h\r
+llist.o: llist.c setup.h config.h config.dj llist.h\r
+memdebug.o: memdebug.c\r
+mprintf.o: mprintf.c setup.h config.h config.dj\r
+multi.o: multi.c setup.h config.h config.dj ../include/curl/curl.h \\r
+ ../include/curl/types.h ../include/curl/easy.h ../include/curl/multi.h \\r
+ urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h \\r
+ llist.h transfer.h url.h connect.h progress.h\r
+netrc.o: netrc.c setup.h config.h config.dj ../include/curl/curl.h \\r
+ ../include/curl/types.h ../include/curl/easy.h ../include/curl/multi.h \\r
+ strequal.h strtok.h\r
+progress.o: progress.c setup.h config.h config.dj ../include/curl/curl.h \\r
+ ../include/curl/types.h ../include/curl/easy.h ../include/curl/multi.h \\r
+ urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h \\r
+ llist.h sendf.h progress.h ../include/curl/mprintf.h\r
+security.o: security.c setup.h config.h config.dj\r
+sendf.o: sendf.c setup.h config.h config.dj ../include/curl/curl.h \\r
+ ../include/curl/types.h ../include/curl/easy.h ../include/curl/multi.h \\r
+ urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h \\r
+ llist.h sendf.h connect.h ../include/curl/mprintf.h\r
+share.o: share.c setup.h config.h config.dj ../include/curl/curl.h \\r
+ ../include/curl/types.h ../include/curl/easy.h ../include/curl/multi.h \\r
+ urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h \\r
+ llist.h share.h\r
+speedche.o: speedche.c setup.h config.h config.dj ../include/curl/curl.h \\r
+ ../include/curl/types.h ../include/curl/easy.h ../include/curl/multi.h \\r
+ urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h \\r
+ llist.h sendf.h speedcheck.h\r
+ssluse.o: ssluse.c setup.h config.h config.dj urldata.h cookie.h \\r
+ ../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \\r
+ ../include/curl/multi.h formdata.h timeval.h http_chunks.h hostip.h \\r
+ hash.h llist.h sendf.h url.h\r
+strequal.o: strequal.c setup.h config.h config.dj\r
+strtok.o: strtok.c setup.h config.h config.dj\r
+telnet.o: telnet.c setup.h config.h config.dj urldata.h cookie.h \\r
+ ../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \\r
+ ../include/curl/multi.h formdata.h timeval.h http_chunks.h hostip.h \\r
+ hash.h llist.h transfer.h sendf.h ../include/curl/mprintf.h \\r
+ arpa_telnet.h\r
+timeval.o: timeval.c timeval.h setup.h config.h config.dj\r
+transfer.o: transfer.c setup.h config.h config.dj strequal.h urldata.h \\r
+ cookie.h ../include/curl/curl.h ../include/curl/types.h \\r
+ ../include/curl/easy.h ../include/curl/multi.h formdata.h timeval.h \\r
+ http_chunks.h hostip.h hash.h llist.h netrc.h content_encoding.h \\r
+ transfer.h sendf.h speedcheck.h getpass.h progress.h getdate.h http.h \\r
+ url.h getinfo.h ssluse.h ../include/curl/mprintf.h\r
+url.o: url.c setup.h config.h config.dj urldata.h cookie.h \\r
+ ../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \\r
+ ../include/curl/multi.h formdata.h timeval.h http_chunks.h hostip.h \\r
+ hash.h llist.h netrc.h base64.h ssluse.h if2ip.h transfer.h sendf.h \\r
+ getpass.h progress.h strequal.h escape.h strtok.h share.h \\r
+ content_encoding.h ftp.h dict.h telnet.h http.h file.h ldap.h url.h \\r
+ connect.h ca-bundle.h ../include/curl/mprintf.h\r
+version.o: version.c setup.h config.h config.dj ../include/curl/curl.h \\r
+ ../include/curl/types.h ../include/curl/easy.h ../include/curl/multi.h \\r
+ urldata.h cookie.h formdata.h timeval.h http_chunks.h hostip.h hash.h \\r
+ llist.h\r
#define HAVE_ALARM
#endif
-#define PATH_CHAR ";"
#define DIR_CHAR "\\"
#define DOT_CHAR "_"
#else
+
+#ifdef DJGPP
+#define sclose(x) close_s(x)
+#define sread(x,y,z) read_s(x,y,z)
+#define swrite(x,y,z) write_s(x,y,z)
+#define select(n,r,w,x,t) select_s(n,r,w,x,t)
+#else
+
#define sclose(x) close(x)
#define sread(x,y,z) recv(x,y,z,0)
#define swrite(x,y,z) send(x,y,z,0)
#define HAVE_ALARM
-#define PATH_CHAR ":"
+#endif
+
#define DIR_CHAR "/"
#define DOT_CHAR "."
+#ifdef DJGPP
+#undef DOT_CHAR
+#define DOT_CHAR "_"
+#endif
+
#ifdef HAVE_STRCASECMP
/* this is for "-ansi -Wall -pedantic" to stop complaining! */
extern int (strcasecmp)(const char *s1, const char *s2);
if(proxy && *proxy) {
/* we have a proxy here to set */
+ char *ptr;
+ char user[MAX_CURL_USER_LENGTH];
+ char passwd[MAX_CURL_PASSWORD_LENGTH];
+
+ /* skip the possible protocol piece */
+ ptr=strstr(proxy, "://");
+ if(ptr)
+ ptr += 3;
+ else
+ ptr = proxy;
+
+ /* check for an @-letter */
+ ptr = strchr(ptr, '@');
+ if(ptr && (2 == sscanf(proxy, "%" MAX_CURL_USER_LENGTH_TXT"[^:]:"
+ "%" MAX_CURL_PASSWORD_LENGTH_TXT "[^@]",
+ user, passwd))) {
+ /* found user and password, rip them out */
+ strcpy(data->state.proxyuser, user);
+ strcpy(data->state.proxypasswd, passwd);
+ conn->bits.proxy_user_passwd = TRUE; /* enable it */
+
+ ptr = strdup(ptr+1);
+ free(proxy); /* free the former data */
+ proxy = ptr; /* now use this instead */
+ }
+
+
data->change.proxy = proxy;
data->change.proxy_alloc=TRUE; /* this needs to be freed later */
conn->bits.httpproxy = TRUE;
* Session-data MUST be put in the connectdata struct and here. */
#define MAX_CURL_USER_LENGTH 256
#define MAX_CURL_PASSWORD_LENGTH 256
+#define MAX_CURL_USER_LENGTH_TXT "255"
+#define MAX_CURL_PASSWORD_LENGTH_TXT "255"
struct UrlState {
enum {
--- /dev/null
+EXTRA_DIST = README common.dj
--- /dev/null
+Gisle Vanem made curl build fine on DOS (and MingW) with djgpp, OpenSSL and his
+Watt-32 stack.
+
+'make djgpp' in the root curl dir should build it fine.
--- /dev/null
+#\r
+# Common defines for curl (djgpp/Watt-32)\r
+#\r
+# Assumes you've unpacked cURL with short-file names\r
+# I.e use "set LFN=n" before untaring on Win9x/XP.\r
+# Requires sed, yacc, rm and the usual stuff.\r
+#\r
+\r
+.SUFFIXES: .exe .y\r
+\r
+MAKEFILE = Makefile.dj\r
+\r
+#\r
+# OpenSSL is available from www.openssl.org and builds okay\r
+# with djgpp/Watt-32. Set to 0 if you don't need https URLs\r
+# (reduces curl.exe with approx 700 kB)\r
+#\r
+USE_SSL = 1\r
+\r
+default: all\r
+\r
+#\r
+# Root directory for Waterloo tcp/ip. WATT_ROOT should be set\r
+# during Watt-32 install.\r
+#\r
+WATT32_ROOT = $(subst \,/,$(WATT_ROOT))\r
+OPENSSL_ROOT = /net/openssl.098\r
+ZLIB_ROOT = $(DJDIR)/contrib/zlib\r
+\r
+CC = gcc\r
+YACC = bison -y\r
+\r
+CFLAGS = -g -O2 -I. -I../include -Wall -DHAVE_CONFIG_H\r
+\r
+ifeq ($(USE_SSL),1)\r
+ CFLAGS += -DUSE_SSLEAY -DHAVE_OPENSSL_ENGINE_H\r
+endif\r
+\r
+#\r
+# Generated dependencies; Due to some hacks in gcc 2.95+ and djgpp 2.03\r
+# we must prevent "$(DJDIR)/bin/../include/sys/version.h" from beeing\r
+# included in dependency output (or else this makefile cannot be used on\r
+# another machine). We therefore use a special 'specs' file during\r
+# pre-processing.\r
+#\r
+MM_SPECS = $(TMPDIR)/specs\r
+\r
+depend: $(DEPEND_PREREQ)\r
+ @echo Generating dependencies..\r
+ @copy $(MAKEFILE) Makefile.bak\r
+ @echo "*cpp: %(cpp_cpu) %{posix:-D_POSIX_SOURCE} -remap" > $(MM_SPECS)\r
+ sed -e "/^# DO NOT DELETE THIS LINE/,$$d" < Makefile.bak > $(MAKEFILE)\r
+ echo "# DO NOT DELETE THIS LINE" >> $(MAKEFILE)\r
+ $(CC) -MM -specs=$(MM_SPECS) $(CFLAGS) $(SOURCES) >> $(MAKEFILE)\r
+ rm -f $(MM_SPECS)\r
+\r
-SUBDIRS = Win32 Linux Solaris EPM
+SUBDIRS = Win32 Linux Solaris EPM DOS
EXTRA_DIST = README
CLEANFILES = hugehelp.c
NROFF=@NROFF@
-EXTRA_DIST = mkhelp.pl curlmsg.msg \
+EXTRA_DIST = mkhelp.pl curlmsg.msg makefile.dj \
Makefile.vc6 Makefile.b32 Makefile.m32 Makefile.riscos config.h.in \
macos/curl.mcp.xml.sit.hqx \
macos/MACINSTALL.TXT \
" Overrides -n and --netrc-optional\n"
" -U/--proxy-user <user[:password]> Specify Proxy authentication\n"
" -v/--verbose Makes the operation more talkative\n"
+#ifdef DJGPP
+ " Also enables Watt-32 debugging\n"
+#endif
" -V/--version Outputs version number then quits");
puts(" -w/--write-out [format] What to output after completion\n"
" -x/--proxy <host[:port]> Use proxy. (Default port is 1080)\n"
cleanarg(nextarg);
break;
case 'v':
+#ifdef DJGPP
+ dbug_init();
+#endif
config->conf ^= CONF_VERBOSE; /* talk a lot */
break;
case 'V':
--- /dev/null
+#\r
+# Adapted for djgpp2 / Watt-32 / DOS by\r
+# Gisle Vanem <giva@bgnett.no>\r
+#\r
+\r
+DEPEND_PREREQ = config.h\r
+\r
+include ../packages/DOS/common.dj\r
+\r
+ifeq ($(USE_SSL),1)\r
+ EX_LIBS = $(OPENSSL_ROOT)/lib/libssl.a $(OPENSSL_ROOT)/lib/libcrypt.a\r
+endif\r
+\r
+EX_LIBS += $(WATT32_ROOT)/lib/libwatt.a $(ZLIB_ROOT)/libz.a\r
+\r
+BIN = ../curl.exe\r
+SOURCES = hugehelp.c main.c urlglob.c writeenv.c writeout.c\r
+OBJECTS = $(SOURCES:.c=.o)\r
+\r
+all: config.h $(BIN)\r
+\r
+$(BIN): $(OBJECTS) ../lib/libcurl.a\r
+ $(CC) -o $@ $^ $(EX_LIBS)\r
+\r
+config.h:\r
+ @echo '#include "../lib/config.dj"' > $@\r
+\r
+hugehelp.c: ../docs/curl.1\r
+ groff -man $^ | perl mkhelp.pl ../readme > $@\r
+\r
+clean:\r
+ - rm -f $(OBJECTS) Makefile.bak config.h\r
+\r
+vclean: clean\r
+ - rm -f $(BIN) hugehelp.c\r
+\r
+# DO NOT DELETE THIS LINE\r
+hugehelp.o: hugehelp.c\r
+main.o: main.c setup.h config.h ../lib/config.dj ../include/curl/curl.h \\r
+ ../include/curl/types.h ../include/curl/easy.h ../include/curl/multi.h \\r
+ ../include/curl/mprintf.h urlglob.h writeout.h version.h\r
+urlglob.o: urlglob.c setup.h config.h ../lib/config.dj \\r
+ ../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \\r
+ ../include/curl/multi.h urlglob.h\r
+writeenv.o: writeenv.c setup.h config.h ../lib/config.dj\r
+writeout.o: writeout.c setup.h config.h ../lib/config.dj \\r
+ ../include/curl/curl.h ../include/curl/types.h ../include/curl/easy.h \\r
+ ../include/curl/multi.h ../include/curl/mprintf.h writeout.h\r
#endif
#ifdef WIN32
-#define PATH_CHAR ";"
#define DIR_CHAR "\\"
#define DOT_CHAR "_"
#else
/* 20000318 mgs
* OS/2 supports leading dots in filenames if the volume is formatted
* with JFS or HPFS. */
-#define PATH_CHAR ";"
#define DIR_CHAR "\\"
#define DOT_CHAR "."
#else
-#define PATH_CHAR ":"
+#ifdef DJGPP
+#define DIR_CHAR "/"
+#define DOT_CHAR "_"
+#else
+
#define DIR_CHAR "/"
#define DOT_CHAR "."
-#endif
-#endif
+#endif /* !DJGPP */
+#endif /* !__EMX__ */
+#endif /* !WIN32 */
#ifdef __riscos__
#define USE_ENVIRONMENT