Diego Casorran patches to make (lib)curl build fine on Amiga again

This commit is contained in:
Daniel Stenberg 2005-07-13 18:06:40 +00:00
parent ee0666c8df
commit 16bbd13af7
10 changed files with 79 additions and 31 deletions

View file

@ -22,28 +22,53 @@
***************************************************************************/
#include "amigaos.h"
#include <stdio.h> /* for stderr */
#include <amitcp/socketbasetags.h>
struct Library *SocketBase = NULL;
extern int errno, h_errno;
#ifdef __libnix__
#include <stabs.h>
void __request(const char *msg);
#else
# define __request( msg ) Printf( msg "\n\a")
#endif
void amiga_cleanup()
{
if(SocketBase)
CloseLibrary(SocketBase);
SocketBase = NULL;
if(SocketBase) {
CloseLibrary(SocketBase);
SocketBase = NULL;
}
}
BOOL amiga_init()
{
if(!SocketBase)
SocketBase = OpenLibrary("bsdsocket.library", 4);
if(!SocketBase) {
fprintf(stderr, "No TCP/IP Stack running!\n\a");
return FALSE;
}
atexit(amiga_cleanup);
return TRUE;
if(!SocketBase)
SocketBase = OpenLibrary("bsdsocket.library", 4);
if(!SocketBase) {
__request("No TCP/IP Stack running!");
return FALSE;
}
if(SocketBaseTags(
SBTM_SETVAL(SBTC_ERRNOPTR(sizeof(errno))), (ULONG) &errno,
// SBTM_SETVAL(SBTC_HERRNOLONGPTR), (ULONG) &h_errno,
SBTM_SETVAL(SBTC_LOGTAGPTR), (ULONG) "cURL",
TAG_DONE)) {
__request("SocketBaseTags ERROR");
return FALSE;
}
#ifndef __libnix__
atexit(amiga_cleanup);
#endif
return TRUE;
}
#ifdef __libnix__
ADD2EXIT(amiga_cleanup,-50);
#endif

View file

@ -32,13 +32,19 @@
#include <proto/exec.h>
#include <proto/dos.h>
#include <bsdsocket.h>
#include <sys/socket.h>
#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)
#ifndef select
# define select(args...) WaitSelect( args, NULL)
#endif
#ifndef inet_ntoa
# define inet_ntoa(x) Inet_NtoA( x ## .s_addr)
#endif
#ifndef ioctl
# define ioctl(a,b,c,d) IoctlSocket( (LONG)a, (ULONG)b, (char*)c)
#endif
#define _AMIGASF 1
extern void amiga_cleanup();

View file

@ -54,6 +54,7 @@
#define HAVE_UTIME_H 1
#define HAVE_WRITABLE_ARGV 1
#define HAVE_ZLIB_H 1
#define HAVE_SYS_IOCTL_H 1
#define USE_OPENSSL 1
#define USE_SSLEAY 1
@ -80,7 +81,9 @@
#define TIME_WITH_SYS_TIME 1
#define in_addr_t int
#define socklen_t int
#ifndef socklen_t
# define socklen_t int
#endif
#ifndef O_RDONLY
# define O_RDONLY 0x0000

View file

@ -34,7 +34,8 @@
#include "if2ip.h"
#if !defined(WIN32) && !defined(__BEOS__) && !defined(__CYGWIN32__) && \
!defined(__riscos__) && !defined(__INTERIX) && !defined(NETWARE)
!defined(__riscos__) && !defined(__INTERIX) && !defined(NETWARE) && \
!defined(_AMIGASF)
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>

View file

@ -7,8 +7,8 @@
ATCPSDKI= /GG/netinclude
CC = gcc
CFLAGS = -I$(ATCPSDKI) -m68020-60 -noixemul -I. -I../include -W -Wall
CC = m68k-amigaos-gcc
CFLAGS = -I$(ATCPSDKI) -m68020-60 -O2 -msoft-float -noixemul -g -I. -I../include -W -Wall
OBJS = amigaos.c base64.c connect.c content_encoding.c cookie.c dict.c easy.c \
escape.c file.c formdata.c ftp.c getenv.c getinfo.c hash.c hostip.c \
@ -17,7 +17,7 @@ OBJS = amigaos.c base64.c connect.c content_encoding.c cookie.c dict.c easy.c \
ldap.c llist.c md5.c memdebug.c mprintf.c multi.c netrc.c parsedate.c \
progress.c security.c select.c sendf.c share.c speedcheck.c ssluse.c \
strequal.c strtok.c telnet.c timeval.c transfer.c url.c version.c \
sslgen.c gtls.c
sslgen.c gtls.c strerror.c
all: $(OBJS:.c=.o)
ar cru libcurl.a $(OBJS:.c=.o)

View file

@ -75,6 +75,9 @@
# define BOOL char
#endif
#ifdef _AMIGASF
# undef FORMAT_INT
#endif
/* Lower-case digits. */
static const char lower_digits[] = "0123456789abcdefghijklmnopqrstuvwxyz";