]> granicus.if.org Git - curl/commitdiff
Diego Casorran's fixes to allow native AmigaOS builds
authorDaniel Stenberg <daniel@haxx.se>
Tue, 13 Jan 2004 08:35:57 +0000 (08:35 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 13 Jan 2004 08:35:57 +0000 (08:35 +0000)
lib/amigaos.h
lib/config-amigaos.h
lib/easy.c
lib/setup.h
lib/timeval.h
src/config-amigaos.h
src/main.c
src/makefile.amiga
src/setup.h

index c2923bdaf752b11a2cb4a9ccf8efca4dcf12a13f..f8529c46e1efcee2f00851a589c3c58ea662eb20 100644 (file)
@@ -21,8 +21,8 @@
  * $Id$
  ***************************************************************************/
 
-#ifndef CURL_AMIGAOS_H
-#define CURL_AMIGAOS_H
+#ifndef LIBCURL_AMIGAOS_H
+#define LIBCURL_AMIGAOS_H
 
 #ifndef __ixemul__
 
 
 #include <bsdsocket.h>
 
-#define select(args...) WaitSelect( args, NULL)
+#include "config-amigaos.h"
+
+#define select(args...)        WaitSelect( args, NULL)
 #define inet_ntoa(x)   Inet_NtoA( x ## .s_addr)
+#define ioctl(a,b,c,d) IoctlSocket( (LONG)a, (ULONG)b, (char*)c)
+#define _AMIGASF       1
+
+extern void amiga_cleanup();
+extern BOOL amiga_init();
 
 #else /* __ixemul__ */
 
 #warning compiling with ixemul...
 
 #endif /* __ixemul__ */
-#endif /* CURL_AMIGAOS_H */
+#endif /* LIBCURL_AMIGAOS_H */
index c4d3950d8eead1dc13231b351748bf60826d4c45..f0fa83e2fbea599e8aefb0ca7e057e66657ce017 100644 (file)
@@ -1,4 +1,7 @@
 
+#ifndef LIBCURL_CONFIG_AMIGAOS_H
+#define LIBCURL_CONFIG_AMIGAOS_H
+
 #define HAVE_ARPA_INET_H 1
 #define HAVE_GETHOSTBYADDR 1
 #define HAVE_INET_ADDR 1
@@ -60,6 +63,7 @@
 #define PACKAGE_STRING "curl -"
 #define PACKAGE_TARNAME "curl"
 #define PACKAGE_VERSION "-"
+#define CURL_CA_BUNDLE "s:curl-ca-bundle.crt"
 
 #define RETSIGTYPE void
 #define SELECT_TYPE_ARG1 int
@@ -77,3 +81,4 @@
 # define O_RDONLY 0x0000
 #endif
 
+#endif /* LIBCURL_CONFIG_AMIGAOS_H */
index f106f1eb1ac2789aa0d3ecc3df26a92d67c7d54e..ce83238d63bb65f28e6a80c3f45e74692885252f 100644 (file)
@@ -151,6 +151,11 @@ CURLcode curl_global_init(long flags)
     if (win32_init() != CURLE_OK)
       return CURLE_FAILED_INIT;
 
+#ifdef _AMIGASF
+  if(!amiga_init())
+    return CURLE_FAILED_INIT;
+#endif
+
   initialized = 1;
   init_flags  = flags;
   
@@ -174,6 +179,10 @@ void curl_global_cleanup(void)
   if (init_flags & CURL_GLOBAL_WIN32)
     win32_cleanup();
 
+#ifdef _AMIGASF
+  amiga_cleanup();
+#endif
+
   initialized = 0;
   init_flags  = 0;
 }
index a258c1c6f88388986b5b07ed259e7ecd7c46f445..e4dac8b9828ea4a173e6a2768cc069ced28eab6d 100644 (file)
@@ -54,6 +54,9 @@
 /* hand-modified MacOS config.h! */
 #include "config-mac.h"
 #endif
+#ifdef AMIGA
+#include "amigaos.h"
+#endif
 
 #endif
 
@@ -204,6 +207,12 @@ defined(HAVE_LIBSSL) && defined(HAVE_LIBCRYPTO)
 
 #endif
 
+#ifdef _AMIGASF
+#undef HAVE_ALARM
+#undef sclose
+#define sclose(x) CloseSocket(x)
+#endif
+
 #define DIR_CHAR      "/"
 #define DOT_CHAR      "."
 
index 3664ba652f661f9bed72393170acbe54f9582eed..cb984c8a6c312c30d004b0860936bdc4d880a71b 100644 (file)
@@ -32,7 +32,7 @@
 #endif
 
 #ifndef HAVE_GETTIMEOFDAY
-#if !defined(_WINSOCKAPI_) && !defined(__MINGW32__)
+#if !defined(_WINSOCKAPI_) && !defined(__MINGW32__) && !defined(_AMIGASF)
 struct timeval {
  long tv_sec;
  long tv_usec;
index 38a52d22f93bb920878d3679db048b68ba84f0a8..ca700ad476fd21ffdac97211b9f1d342eb1f6e81 100644 (file)
@@ -1,4 +1,7 @@
 
+#ifndef CURL_CONFIG_AMIGAOS_H
+#define CURL_CONFIG_AMIGAOS_H
+
 #define OS "AmigaOS"
 
 #define HAVE_UNISTD_H          1
 #ifndef F_OK
 # define F_OK 0
 #endif
+#ifndef LONG_MAX
+# define       LONG_MAX        0x7fffffffL             /* max value for a long */
+#endif
+#ifndef LONG_MIN
+# define       LONG_MIN        (-0x7fffffffL-1)        /* min value for a long */
+#endif
 
+#endif /* CURL_CONFIG_AMIGAOS_H */
index cb6d5a43d584887f8a8af905cbb3c9cd555c6071..aac07bef2c0dc204a1d8523f43e6dfd0729e5cc4 100644 (file)
@@ -1995,6 +1995,7 @@ static int parseconfig(const char *filename,
 
 #define CURLRC DOT_CHAR "curlrc"
 
+#ifndef AMIGA
     filename = CURLRC;   /* sensible default */
     home = homedir();    /* portable homedir finder */
     if(home) {
@@ -2006,6 +2007,13 @@ static int parseconfig(const char *filename,
       }
       free(home); /* we've used it, now free it */
     }
+    
+# else /* AmigaOS */
+  /* On AmigaOS all the config files are into env:
+   */
+  filename = "ENV:" CURLRC;
+
+#endif
   }
 
   if(strcmp(filename,"-"))
@@ -3300,6 +3308,14 @@ operate(struct Configurable *config, int argc, char *argv[])
           }
         }
 #endif
+#ifdef AMIGA
+        /* Set the url as comment for the file. (up to 80 chars are allowed)
+         */
+        if( strlen(url) > 78 )
+          url[79] = '\0';
+        
+        SetComment( outs.filename, url);
+#endif
 
         if(headerfilep)
           fclose(headerfilep);
index ea303508d08ab02bce744c9087459e756d9d4cd4..51e084d4ba6be9d3536762389960f25a99bc29fc 100644 (file)
@@ -10,13 +10,20 @@ ATCPSDKI=   /GG/netinclude
 CC     =       gcc
 CFLAGS =       -I$(ATCPSDKI) -m68020-60 -noixemul -I. -I../include -W -Wall
 LIBS   =       ../lib/libcurl.a -lsslnix -lcryptonix -lz
+MANPAGE =      ../docs/curl.1
+README =       ../docs/MANUAL
+MKHELP =       ../src/mkhelp.pl
 
-OBJS   =       getpass.c homedir.c hugehelp.c main.c urlglob.c writeenv.c writeout.c 
+OBJS   =       getpass.c hugehelp.c main.c urlglob.c writeenv.c writeout.c 
 
 
-all:   $(OBJS:.c=.o)
+all:   hugehelp.c $(OBJS:.c=.o)
        $(CC) $(CFLAGS) -s -o cURL $(OBJS:.c=.o) $(LIBS)
 
+hugehelp.c: $(README) $(MANPAGE)  mkhelp.pl
+       rm -f hugehelp.c
+       /bin/nroff -man $(MANPAGE) | /bin/perl $(MKHELP) -c $(README) > hugehelp.c
+
 install:
        $(INSTALL) -c cURL /c/cURL
 
index ee0868a07f9ae071b3b8c84ea8b437126b7df740..4dfb1046661a5a447dbab389679e28f1e82fd925 100644 (file)
@@ -46,6 +46,9 @@
 #ifdef __riscos__
 #include "config-riscos.h"
 #endif
+#ifdef __amigaos__
+#include "config-amigaos.h"
+#endif
 #endif
 
 #ifdef CURLDEBUG