Add KX extension to tcc (autoload w/import table support), phase 2.3
Done, fully added to distributive git-svn-id: svn://kolibrios.org@9517 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
834587bb50
commit
57ea3e92bd
@ -183,6 +183,9 @@ extra_files = {
|
||||
{"kolibrios/develop/oberon07/samples/", PROGS .. "/develop/oberon07/samples/*"},
|
||||
{"kolibrios/develop/tcc/", PROGS .. "/develop/ktcc/trunk/*"},
|
||||
-- {"kolibrios/develop/tcc/", PROGS .. "/develop/ktcc/trunk/bin/tcc"},
|
||||
{"kolibrios/develop/tcc/kx/doc/", PROGS .. "/develop/ktcc/trunk/kx/doc/*"},
|
||||
{"kolibrios/develop/tcc/kx/lib/", PROGS .. "/develop/ktcc/trunk/kx/lib/*"},
|
||||
{"kolibrios/develop/tcc/kx/src/tests", PROGS .. "/develop/ktcc/trunk/kx/src/tests/*"},
|
||||
{"kolibrios/develop/tcc/lib/", PROGS .. "/develop/ktcc/trunk/bin/lib/*"},
|
||||
{"kolibrios/develop/tcc/include/", PROGS .. "/develop/ktcc/trunk/libc.obj/include/*"},
|
||||
{"kolibrios/develop/tcc/include/clayer/", PROGS .. "/develop/ktcc/trunk/libc.obj/include/clayer/*"},
|
||||
|
@ -1,9 +0,0 @@
|
||||
LIBRARY http.obj
|
||||
|
||||
EXPORTS prefix
|
||||
http_get
|
||||
http_head
|
||||
http_post
|
||||
http_receive
|
||||
http_send
|
||||
http_free
|
@ -1,20 +0,0 @@
|
||||
LIBRARY libimg.obj
|
||||
|
||||
EXPORTS
|
||||
img_blend
|
||||
img_convert
|
||||
img_count
|
||||
img_create
|
||||
img_decode
|
||||
img_destroy
|
||||
img_destroy_layer
|
||||
img_draw
|
||||
img_encode
|
||||
img_flip
|
||||
img_flip_layer
|
||||
img_resize_data
|
||||
img_rotate
|
||||
img_rotate_layer
|
||||
img_scale
|
||||
img_to_rgb
|
||||
img_to_rgb2
|
@ -1,177 +0,0 @@
|
||||
LIBRARY libc.obj
|
||||
|
||||
EXPORTS
|
||||
;____STDIO______
|
||||
clearerr
|
||||
debug_printf
|
||||
fclose
|
||||
feof
|
||||
ferror
|
||||
fflush
|
||||
fgetc
|
||||
fgetpos
|
||||
fgets
|
||||
fopen
|
||||
fprintf
|
||||
fputc
|
||||
fputs
|
||||
fread
|
||||
freopen
|
||||
fscanf
|
||||
fseek
|
||||
fsetpos
|
||||
ftell
|
||||
fwrite
|
||||
getchar
|
||||
gets
|
||||
perror
|
||||
printf
|
||||
puts
|
||||
remove
|
||||
rename
|
||||
rewind
|
||||
scanf
|
||||
setbuf
|
||||
setvbuf
|
||||
snprintf
|
||||
sprintf
|
||||
sscanf
|
||||
tmpfile
|
||||
tmpnam
|
||||
vfscanf
|
||||
vprintf
|
||||
vfscanf
|
||||
vsprintf
|
||||
vsnprintf
|
||||
vsscanf
|
||||
ungetc
|
||||
;____STDLIB____
|
||||
abs
|
||||
atoi
|
||||
atol
|
||||
atoll
|
||||
atof
|
||||
calloc
|
||||
exit
|
||||
free
|
||||
itoa
|
||||
labs
|
||||
llabs
|
||||
malloc
|
||||
realloc
|
||||
strtol
|
||||
srand
|
||||
rand
|
||||
qsort
|
||||
strtod
|
||||
__assert_fail
|
||||
;____STRING____
|
||||
;memcpy
|
||||
memchr
|
||||
memcmp
|
||||
!memmove
|
||||
!memset
|
||||
strncat
|
||||
strchr
|
||||
strcat
|
||||
strcmp
|
||||
strcoll
|
||||
strcpy
|
||||
strcspn
|
||||
strdup
|
||||
strerror
|
||||
strlen
|
||||
strncat
|
||||
strncmp
|
||||
strncpy
|
||||
strrchr
|
||||
strrev
|
||||
strspn
|
||||
strstr
|
||||
strtok
|
||||
strxfrm
|
||||
_errno
|
||||
;____SYS____
|
||||
closedir
|
||||
opendir
|
||||
readdir
|
||||
rewinddir
|
||||
seekdir
|
||||
telldir
|
||||
getcwd
|
||||
mkdir
|
||||
rmdir
|
||||
setcwd
|
||||
getcwd
|
||||
;____SOCKET____
|
||||
socket
|
||||
close
|
||||
bind
|
||||
listen
|
||||
connect
|
||||
accept
|
||||
send
|
||||
recv
|
||||
setsockopt
|
||||
socketpair
|
||||
;____UNISTD____
|
||||
;____MATH____
|
||||
acosh
|
||||
asinh
|
||||
atanh
|
||||
acosh
|
||||
frexp
|
||||
hypot
|
||||
ldexp
|
||||
sinh
|
||||
tanh
|
||||
acos
|
||||
asin
|
||||
atan
|
||||
atan2
|
||||
ceil
|
||||
cos
|
||||
exp
|
||||
fabs
|
||||
floor
|
||||
fmod
|
||||
log
|
||||
modf
|
||||
modfl
|
||||
pow
|
||||
pow2
|
||||
pow10
|
||||
;____LONGJMP____
|
||||
longjmp
|
||||
setjmp
|
||||
;____CTYPE____
|
||||
__is
|
||||
tolower
|
||||
toupper
|
||||
;___CONIO___
|
||||
con_set_title
|
||||
con_init
|
||||
con_init_opt
|
||||
con_write_asciiz
|
||||
con_write_string
|
||||
con_printf
|
||||
con_exit
|
||||
con_get_flags
|
||||
con_set_flags
|
||||
con_kbhit
|
||||
con_getch
|
||||
con_getch2
|
||||
con_gets
|
||||
con_gets2
|
||||
con_get_font_height
|
||||
con_get_cursor_height
|
||||
con_set_cursor_height
|
||||
con_cls
|
||||
con_get_cursor_pos
|
||||
con_set_cursor_pos
|
||||
;____TIME____
|
||||
mktime
|
||||
time
|
||||
localtime
|
||||
asctime
|
||||
difftime
|
@ -113,7 +113,7 @@ static void tcc_set_lib_path_w32(TCCState *s)
|
||||
{
|
||||
char path[1024], *p;
|
||||
GetModuleFileNameA(tcc_module, path, sizeof path);
|
||||
#ifdef TCC_TARGET_KX
|
||||
#ifdef TCC_TARGET_KX
|
||||
kx_fix_root_directory(path, sizeof path);
|
||||
normalize_slashes(strlwr(path));
|
||||
#else
|
||||
@ -155,13 +155,13 @@ BOOL WINAPI DllMain (HINSTANCE hDll, DWORD dwReason, LPVOID lpReserved)
|
||||
#if defined TCC_TARGET_MEOS
|
||||
/* on Kolibri host, we suppose the lib and includes are at the location of 'tcc' /lib, /include */
|
||||
static void tcc_set_lib_path_kos(TCCState *s)
|
||||
{
|
||||
{
|
||||
char** argv0 = (char**)0x20; // path in kolibri header
|
||||
char path[1024], *p;
|
||||
char path[1024], *p;
|
||||
strncpy(path, *argv0, sizeof path);
|
||||
#ifdef TCC_TARGET_KX
|
||||
#ifdef TCC_TARGET_KX
|
||||
kx_fix_root_directory(path, sizeof path);
|
||||
#else
|
||||
#else
|
||||
p = tcc_basename(path);
|
||||
if (p > path) p--;
|
||||
*p = 0;
|
||||
@ -174,7 +174,7 @@ static void tcc_set_lib_path_linux(TCCState *s)
|
||||
{
|
||||
char buff[4096+1];
|
||||
readlink("/proc/self/exe", buff, 4096);
|
||||
#ifdef TCC_TARGET_KX
|
||||
#ifdef TCC_TARGET_KX
|
||||
kx_fix_root_directory(buff, sizeof buff);
|
||||
const char *path = buff;
|
||||
#else
|
||||
|
@ -168,8 +168,8 @@ typedef struct {
|
||||
imp_sect->data = tcc_mallocz(4096); // FIXME!!! I increased it to 4Kb, but steel need dynamicaly size
|
||||
imp_sect->data_size = 0;
|
||||
//imp_sect->sh_addr = me->header.image_size;// +1;
|
||||
|
||||
long imp_data = (long)imp_sect->data; //FIXED changed to long for gcc compatible
|
||||
|
||||
long imp_data = (long)imp_sect->data; //FIXED changed to long for gcc compatible
|
||||
|
||||
// Strings
|
||||
i = 0;
|
||||
@ -203,7 +203,7 @@ typedef struct {
|
||||
memcpy((void*)imp_data, &lib, sizeof(LibraryEntry));
|
||||
|
||||
if (nlib > 1) {
|
||||
int prev_sum = 0;
|
||||
int prev_sum = 0;
|
||||
int prev = 0;
|
||||
i = 1;
|
||||
do {
|
||||
@ -232,7 +232,7 @@ typedef struct {
|
||||
i = 0;
|
||||
do {
|
||||
char* len_data = len_arr[i].data;
|
||||
long* sym_data = sym_arr[i].data;
|
||||
long* sym_data = sym_arr[i].data;
|
||||
|
||||
name_len = *len_data++; // Skip library name
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user