# HG changeset patch # User Claus Gittinger # Date 1150276996 -7200 # Node ID 9003f8432516553f699858db702621efa74c159c # Parent beef5f0aa8bbc79de284d4fc2bb0cdd19ab205ed *** empty log message *** diff -r beef5f0aa8bb -r 9003f8432516 ExternalLibraryFunction.st --- a/ExternalLibraryFunction.st Wed Jun 07 17:45:06 2006 +0200 +++ b/ExternalLibraryFunction.st Wed Jun 14 11:23:16 2006 +0200 @@ -24,16 +24,34 @@ /* * does this architecture support FFI ? - * NOTICE: this is going to be moved to an architecture-specific xxxIntern.h file. + * NOTICE: this is now defined in the architecture-specific configuration file. */ -#ifdef WIN32 -# define HAVE_FFI +#if defined(WIN32) || defined(LINUX) +# ifndef HAVE_FFI +# define HAVE_FFI +# endif #endif #ifdef HAVE_FFI # include # define MAX_ARGS 128 + +extern ffi_type *__get_ffi_type_sint(); +extern ffi_type *__get_ffi_type_sint8(); +extern ffi_type *__get_ffi_type_sint16(); +extern ffi_type *__get_ffi_type_sint32(); +extern ffi_type *__get_ffi_type_sint64(); +extern ffi_type *__get_ffi_type_uint(); +extern ffi_type *__get_ffi_type_uint8(); +extern ffi_type *__get_ffi_type_uint16(); +extern ffi_type *__get_ffi_type_uint32(); +extern ffi_type *__get_ffi_type_uint64(); +extern ffi_type *__get_ffi_type_float(); +extern ffi_type *__get_ffi_type_double(); +extern ffi_type *__get_ffi_type_void(); +extern ffi_type *__get_ffi_type_pointer(); + #endif %} @@ -723,5 +741,5 @@ !ExternalLibraryFunction class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libbasic/ExternalLibraryFunction.st,v 1.21 2006-05-05 11:40:49 cg Exp $' + ^ '$Header: /cvs/stx/stx/libbasic/ExternalLibraryFunction.st,v 1.22 2006-06-14 09:23:15 cg Exp $' ! ! diff -r beef5f0aa8bb -r 9003f8432516 Make.proto --- a/Make.proto Wed Jun 07 17:45:06 2006 +0200 +++ b/Make.proto Wed Jun 14 11:23:16 2006 +0200 @@ -1,4 +1,4 @@ -# $Header: /cvs/stx/stx/libbasic/Make.proto,v 1.174 2004-04-08 12:53:08 cg Exp $ +# $Header: /cvs/stx/stx/libbasic/Make.proto,v 1.175 2006-06-14 09:23:15 cg Exp $ # # -------------- no need to change anything below ---------- @@ -10,7 +10,7 @@ STCOPT=$(LIBBASIC_STCOPT) LOCALINCLUDES=-I../librun -STCLOCALOPT='-package=$(PACKAGE)' $(COMMONSYMBOLS) $(SEPINITCODE) -varPrefix=$(LIBNAME) $(LOCALINCLUDES) -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 +STCLOCALOPT='-package=$(PACKAGE)' $(COMMONSYMBOLS) $(SEPINITCODE) -varPrefix=$(LIBNAME) $(LOCALINCLUDES) -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 $(OPTIONAL_HAVE_FFI_ARG) LINKOBJRULE=$(SEPINITLINKOBJRULE) AIX_LOCAL_LIBS=-lm diff -r beef5f0aa8bb -r 9003f8432516 libInit.cc --- a/libInit.cc Wed Jun 07 17:45:06 2006 +0200 +++ b/libInit.cc Wed Jun 14 11:23:16 2006 +0200 @@ -226,6 +226,7 @@ _EncodedStream_Init(pass,__pRT__,snd); _UndefinedObject_Init(pass,__pRT__,snd); _ExternalAddress_Init(pass,__pRT__,snd); +_ExternalStructure_Init(pass,__pRT__,snd); _MethodDictionary_Init(pass,__pRT__,snd); _OSHandle_Init(pass,__pRT__,snd); _OSFileHandle_Init(pass,__pRT__,snd);