Added config file for Tk-python
Removed mwerksglue.c (which was useless anyway)
This commit is contained in:
parent
eb263680bb
commit
5bfdc9281a
|
@ -1,166 +0,0 @@
|
||||||
/*
|
|
||||||
** Glue code for MetroWerks CodeWarrior, which misses
|
|
||||||
** unix-like routines for file-access.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __MWERKS__
|
|
||||||
#include <Types.h>
|
|
||||||
#include <Files.h>
|
|
||||||
#include <Strings.h>
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <errno.h>
|
|
||||||
|
|
||||||
/* #define DBGMALLOC /**/
|
|
||||||
|
|
||||||
#ifdef DBGMALLOC
|
|
||||||
#define NMALLOC 50000
|
|
||||||
static long m_index;
|
|
||||||
static long m_addrs[NMALLOC];
|
|
||||||
static long m_sizes[NMALLOC];
|
|
||||||
static long m_lastaddr;
|
|
||||||
|
|
||||||
#define SSLOP 2
|
|
||||||
#define SLOP (SSLOP+0)
|
|
||||||
|
|
||||||
void
|
|
||||||
m_abort() {
|
|
||||||
printf("ABORT\n");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
void *
|
|
||||||
checkrv(ptr, size)
|
|
||||||
void *ptr;
|
|
||||||
int size;
|
|
||||||
{
|
|
||||||
long b = (long)ptr, e = (long)ptr + size+SSLOP;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
if ( m_index >= NMALLOC ) {
|
|
||||||
printf("too many mallocs\n");
|
|
||||||
m_abort();
|
|
||||||
}
|
|
||||||
m_lastaddr = (long)ptr;
|
|
||||||
for(i=0; i<m_index; i++) {
|
|
||||||
if ( m_addrs[i] > 0 && b < m_addrs[i]+m_sizes[i] && e > m_addrs[i] ) {
|
|
||||||
printf("overlapping block with %d\n", i);
|
|
||||||
m_abort();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
m_sizes[m_index] = size;
|
|
||||||
m_addrs[m_index++] = (long)ptr;
|
|
||||||
*(short *)ptr = m_index-1;
|
|
||||||
return (void *)((char *)ptr+SSLOP);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void *
|
|
||||||
checkfree(ptr)
|
|
||||||
void *ptr;
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
if ( ptr == 0 ) {
|
|
||||||
printf("free null\n");
|
|
||||||
m_abort();
|
|
||||||
}
|
|
||||||
m_lastaddr = (long)ptr;
|
|
||||||
for(i=0; i<m_index; i++) {
|
|
||||||
if ( m_addrs[i] == (long)ptr-SSLOP ) {
|
|
||||||
m_addrs[i] = -m_addrs[i];
|
|
||||||
ptr = (void *)((char *)ptr-SSLOP);
|
|
||||||
if ( *(short *)ptr != i ) {
|
|
||||||
int saved_i = i, saved_ptr = *(short *)ptr;
|
|
||||||
|
|
||||||
printf("Wrong starter value\n");
|
|
||||||
m_abort();
|
|
||||||
}
|
|
||||||
return ptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
printf("free unknown\n");
|
|
||||||
m_abort();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void *
|
|
||||||
m_malloc(size)
|
|
||||||
{
|
|
||||||
void *ptr;
|
|
||||||
|
|
||||||
ptr = malloc(size+SLOP);
|
|
||||||
if ( !ptr ) {
|
|
||||||
printf("malloc failure\n");
|
|
||||||
m_abort();
|
|
||||||
}
|
|
||||||
return checkrv(ptr, size);
|
|
||||||
}
|
|
||||||
|
|
||||||
void *
|
|
||||||
m_realloc(optr, size)
|
|
||||||
void *optr;
|
|
||||||
{
|
|
||||||
void *ptr;
|
|
||||||
|
|
||||||
ptr = checkfree(ptr);
|
|
||||||
ptr = realloc(ptr, size+SLOP);
|
|
||||||
if ( !ptr ) {
|
|
||||||
printf("realloc failure\n");
|
|
||||||
m_abort();
|
|
||||||
}
|
|
||||||
return checkrv(ptr, size);
|
|
||||||
}
|
|
||||||
|
|
||||||
void *
|
|
||||||
m_calloc(size, nelem)
|
|
||||||
{
|
|
||||||
void *ptr;
|
|
||||||
|
|
||||||
ptr = calloc(1, nelem*size+SLOP);
|
|
||||||
return checkrv(ptr, nelem*size);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
m_free(ptr)
|
|
||||||
void *ptr;
|
|
||||||
{
|
|
||||||
|
|
||||||
ptr = checkfree(ptr);
|
|
||||||
free(ptr);
|
|
||||||
}
|
|
||||||
#endif /* DBGMALLOC */
|
|
||||||
|
|
||||||
#ifdef CW4
|
|
||||||
int
|
|
||||||
fileno(fp)
|
|
||||||
FILE *fp;
|
|
||||||
{
|
|
||||||
if (fp==stdin) return 0;
|
|
||||||
else if (fp==stdout) return 1;
|
|
||||||
else if (fp==stderr) return 2;
|
|
||||||
else return 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
isatty(fd)
|
|
||||||
int fd;
|
|
||||||
{
|
|
||||||
return (fd >= 0 && fd <= 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
unlink(old)
|
|
||||||
char *old;
|
|
||||||
{
|
|
||||||
OSErr err;
|
|
||||||
|
|
||||||
if ((err=FSDelete((ConstStr255Param)Pstring(old), 0)) == noErr)
|
|
||||||
return 0;
|
|
||||||
errno= err;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
#endif /* CW4 */
|
|
||||||
|
|
||||||
#endif /* __MWERKS__ */
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
#define HAVE_CONFIG_H
|
||||||
|
// #define USE_STDWIN
|
||||||
|
// #define USE_MACTCP
|
||||||
|
#define USE_BGEN
|
||||||
|
//#define USE_MACSPEECH
|
||||||
|
// #define USE_IMG
|
||||||
|
//#define USE_MACCTB
|
||||||
|
#define USE_TK
|
||||||
|
#define MAC_TCL
|
||||||
|
#ifdef __powerc
|
||||||
|
#define USE_MAC_DYNAMIC_LOADING
|
||||||
|
#endif
|
||||||
|
#define USE_GUSI
|
Loading…
Reference in New Issue