Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 8466 → Rev 8467

/programs/develop/backy/gcc_version/Backy-lib.h
File deleted
Property changes:
Deleted: svn:executable
-*
\ No newline at end of property
/programs/develop/backy/gcc_version/Backy.c
9,38 → 9,6
* Works from command line, only!
*/
 
 
// Copied from TCC
char* strrev(char *p)
{
char *q = p, *res = p, z;
while(q && *q) ++q; /* find eos */
for(--q; p < q; ++p, --q)
{
z = *p;
*p = *q;
*q = z;
}
return res;
}
char* itoab(unsigned int n, char* s, int b)
{
char *ptr;
int lowbit;
ptr = s;
b >>= 1;
do {
lowbit = n & 1;
n = (n >> 1) & 0x7FFFFFFF;
*ptr = ((n % b) << 1) + lowbit;
if(*ptr < 10) *ptr += '0'; else *ptr += 55;
++ptr;
} while(n /= b);
*ptr = 0;
return strrev(s);
}
 
 
#define CREATION_DATE "2020.05.27"
 
#include <stdlib.h>
48,7 → 16,6
#include <string.h>
#include "console_obj.h"
 
#include "Backy_lang.h"
#include "Backy_lib.h"
 
int date = 0;
421,6 → 388,7
return 13;
}
 
return checkStateOnSave(saveFile(length, data, 0, path_out));
saveFile(length, data, 0, path_out);//return checkStateOnSave(saveFile(length, data, 0, path_out));
}
 
/programs/develop/backy/gcc_version/Backy_lib.h
6,6 → 6,37
 
#ifndef __Backy_lib_h__
#define __Backy_lib_h__
 
// Copied from TCC
char* strrev(char *p)
{
char *q = p, *res = p, z;
while(q && *q) ++q; /* find eos */
for(--q; p < q; ++p, --q)
{
z = *p;
*p = *q;
*q = z;
}
return res;
}
char* itoab(unsigned int n, char* s, int b)
{
char *ptr;
int lowbit;
ptr = s;
b >>= 1;
do {
lowbit = n & 1;
n = (n >> 1) & 0x7FFFFFFF;
*ptr = ((n % b) << 1) + lowbit;
if(*ptr < 10) *ptr += '0'; else *ptr += 55;
++ptr;
} while(n /= b);
*ptr = 0;
return strrev(s);
}
 
/*
typedef unsigned int uint32_t;
typedef unsigned char uint8_t;
43,37 → 74,34
return fd;
}
 
// FILE SAVING NOT WORKING
/*
struct saveFile__
struct saveFileStruct
{
int num;
int res_;
int res;
int nbyte;
int p1;
int p2;
int p3;
int p4;
 
char* data_;
int enc_;
char* path_;
char* p5;
int p6;
char* p7;
};
*/
 
static inline int32_t saveFile(uint32_t nbytes, uint8_t *data, uint32_t enc, uint8_t *path)
{
int32_t val;
/*
struct saveFile__ dt;
//uint8_t dt[28]; // basic information structure.
dt.num = 2; // subfunction number.
dt.res_= 0; // reserved.
dt.res = 0; // reserved.
dt.nbyte = nbytes; // number of bytes to write.
dt.data_ = data; // pointer to data.
dt.enc_ = enc; // string encoding (0 = default, 1 = cp866, 2 = UTF-16LE, 3 = UTF-8).
dt.path_ = path; // pointer to path.
struct saveFileStruct dt; // basic information structure.
 
__asm__ __volatile__("int $0x40":"=a"(val):"a"(80), "b"(&dt));
*/
dt.p1 = 2; // subfunction number.
dt.p2= 0; // reserved.
dt.p3 = 0; // reserved.
dt.p4 = nbytes; // number of bytes to write.
dt.p5 = data; // pointer to data.
dt.p6 = enc; // string encoding (0 = default, 1 = cp866, 2 = UTF-16LE, 3 = UTF-8).
dt.p7 = path; // pointer to path.
 
__asm__ __volatile__("int $0x40":"=a"(val):"a"(80), "b"(&dt):"memory");
 
return val;
}
 
/programs/develop/backy/gcc_version/Makefile
9,19 → 9,17
INCLUDES = -I $(SDK_DIR)/sources/newlib/libc/include
LIBPATH = -L $(SDK_DIR)/lib -L /home/autobuild/tools/win32/mingw32/lib
 
ifndef LANG_backy
LANG_backy = lang_en
ifndef LANG_
LANG_ = lang_en
endif
 
default: backy
 
backy: $(OBJECTS) Makefile
echo "#define $(LANG_backy)" > Backy_lang.h
$(CC) $(CFLAGS) $(INCLUDES) -o Backy.o Backy.c
$(CC) $(CFLAGS) $(INCLUDES) -D$(LANG_) -o Backy.o Backy.c
$(LD) $(LDFLAGS) $(LIBPATH) --subsystem console -o Backy Backy.o -lgcc -lc.dll
kos32-strip -s Backy -o Backy
objcopy Backy -O binary
rm Backy.o
rm Backy_lang.h
clean:
rm Backy
/programs/develop/backy/gcc_version/Tupfile.lua
0,0 → 1,12
if tup.getconfig("NO_GCC") ~= "" then return end
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR")
tup.include(HELPERDIR .. "/use_gcc.lua")
tup.include(HELPERDIR .. "/use_newlib.lua")
 
if tup.getconfig("LANG") == "ru"
then CFLAGS = CFLAGS .. " -Dlang_ru"
else CFLAGS = CFLAGS .. " -Dlang_en"
end
 
compile_gcc{"backy.c"}
link_gcc("backy")
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/programs/develop/backy/gcc_version/readme.txt
1,7 → 1,6
Port backy to gcc
Files not working yet
Languages:
Eng:
make
Rus:
env LANG_backy=lang_ru make
env LANG_=lang_ru make