From 7406df89a59f85665f7488dd91118d9effc0e879 Mon Sep 17 00:00:00 2001 From: CleverMouse Date: Fri, 19 Sep 2014 10:09:40 +0000 Subject: [PATCH] * newlib: mark some syscalls as using memory * autobuild newlib * add newlib example based on menuetlibc example git-svn-id: svn://kolibrios.org@5132 a494cfbc-eb01-0410-851d-a64ba20cac60 --- contrib/sdk/sources/newlib/libc/Tupfile.lua | 186 ++++++++++++++++++ .../sources/newlib/libc/include/kos32sys.h | 5 +- data/Tupfile.lua | 22 ++- data/common/lib/libc.dll | Bin 246784 -> 0 bytes .../libraries/newlib_example/Tupfile.lua | 6 + .../develop/libraries/newlib_example/main.c | 87 ++++++++ programs/use_gcc.lua | 10 +- programs/use_newlib.lua | 16 ++ tup.config.template | 7 + 9 files changed, 329 insertions(+), 10 deletions(-) create mode 100644 contrib/sdk/sources/newlib/libc/Tupfile.lua delete mode 100644 data/common/lib/libc.dll create mode 100644 programs/develop/libraries/newlib_example/Tupfile.lua create mode 100644 programs/develop/libraries/newlib_example/main.c create mode 100644 programs/use_newlib.lua diff --git a/contrib/sdk/sources/newlib/libc/Tupfile.lua b/contrib/sdk/sources/newlib/libc/Tupfile.lua new file mode 100644 index 0000000000..47f98440e0 --- /dev/null +++ b/contrib/sdk/sources/newlib/libc/Tupfile.lua @@ -0,0 +1,186 @@ +if tup.getconfig("NO_GCC") ~= "" or tup.getconfig("NO_FASM") ~= "" then return end +tup.include("../../../../../programs/use_gcc.lua") +CFLAGS = CFLAGS_OPTIMIZE_SPEED .. " -c -DBUILD_DLL -DMISSING_SYSCALL_NAMES" +LDFLAGS = "-shared -s -T libcdll.lds --out-implib $(SDK_DIR)/lib/libc.dll.a --image-base 0" +-- LDFLAGS = LDFLAGS .. " --output-def libc.orig.def" + +SDK_DIR = "../../.." + +LIBC_TOPDIR = "." +LIBC_INCLUDES = "include" +NAME = "libc" +DEFINES = "-D_IEEE_LIBM" +INCLUDES = "-Iinclude" + +TOOLCHAIN_LIBPATH = tup.getconfig("TOOLCHAIN_LIBPATH") +-- if not given explicitly in config, try to guess +if TOOLCHAIN_LIBPATH == "" then + if tup.getconfig("TUP_PLATFORM") == "win32" + then TOOLCHAIN_LIBPATH="C:\\MinGW\\msys\\1.0\\home\\autobuild\\tools\\win32\\mingw32\\lib" + else TOOLCHAIN_LIBPATH="/home/autobuild/tools/win32/mingw32/lib" + end +end +LIBPATH = "-L$(SDK_DIR)/lib -L$(TOOLCHAIN_LIBPATH)" +STATIC_SRCS = {"crt/start.S", "crt/crt1.c", "crt/crt2.c", "crt/chkstk.S", "crt/exit.c", "pe/crtloader.c"} +LIBDLL_SRCS = {"crt/dllstart.c", "crt/chkstk.S", "crt/exit.S", "crt/pseudo-reloc.c", "crt/setjmp.S"} +LIBCDLL_SRCS = {"crt/crtdll.c", "crt/pseudo-reloc.c", "crt/chkstk.S", "crt/exit.S", "pe/loader.c"} +LIBCRT_SRCS = {"crt/start.S", "crt/chkstk.S", "crt/crt3.c", "crt/pseudo-reloc.c", "pe/crtloader.c"} +CORE_SRCS = { + "argz/buf_findstr.c", "argz/envz_get.c", + "crt/emutls.c", "crt/thread.S", "crt/tls.S", "crt/setjmp.S", "crt/cpu_features.c", + "ctype/ctype_.c", "ctype/isascii.c", "ctype/isblank.c", "ctype/isalnum.c", + "ctype/isalpha.c", "ctype/iscntrl.c", "ctype/isdigit.c", "ctype/islower.c", + "ctype/isupper.c", "ctype/isprint.c", "ctype/ispunct.c", "ctype/isspace.c", + "ctype/iswctype.c", "ctype/iswalnum.c", "ctype/iswalpha.c", "ctype/iswblank.c", + "ctype/iswcntrl.c", "ctype/iswdigit.c", "ctype/iswgraph.c", "ctype/iswlower.c", + "ctype/iswprint.c", "ctype/iswpunct.c", "ctype/iswspace.c", "ctype/iswupper.c", + "ctype/iswxdigit.c", "ctype/isxdigit.c", "ctype/toascii.c", "ctype/tolower.c", + "ctype/toupper.c", "ctype/towctrans.c", "ctype/towlower.c", "ctype/towupper.c", + "ctype/wctrans.c", "ctype/wctype.c", + "errno/errno.c", + "locale/locale.c", "locale/lctype.c", "locale/ldpart.c", + "reent/impure.c", "reent/init_reent.c", "reent/getreent.c", "reent/mutex.c", + "reent/gettimeofdayr.c", "reent/isattyr.c", "reent/openr.c", "reent/closer.c", + "reent/linkr.c", "reent/readr.c", "reent/lseekr.c", "reent/fstatr.c", + "reent/writer.c", "reent/timesr.c", "reent/unlinkr.c", + "search/qsort.c", "search/bsearch.c", + "signal/signal.c", + "sys/close.c", "sys/create.c", "sys/delete.c", "sys/errno.c", "sys/finfo.c", + "sys/fsize.c", "sys/fstat.c", "sys/gettod.c", "sys/io.c", "sys/ioread.c", + "sys/iowrite.c", "sys/isatty.c", "sys/lseek.c", "sys/open.c", "sys/read.c", + "sys/unlink.c", "sys/write.c", "sys/io_alloc.S", + "time/asctime.c", "time/asctime_r.c", "time/clock.c", "time/ctime.c", + "time/ctime_r.c", "time/difftime.c", "time/gettzinfo.c", "time/gmtime.c", + "time/gmtime_r.c", "time/mktime.c", "time/mktm_r.c", "time/lcltime.c", + "time/lcltime_r.c", "time/strftime.c", "time/time.c", "time/timelocal.c", + "time/tzlock.c", "time/tzvars.c" +} +STDLIB_SRCS = { + "__atexit.c", "__call_atexit.c", "abort.c", "abs.c", "assert.c", "atexit.c", + "atof.c", "atoi.c", "atol.c", "div.c", "dtoa.c", "dtoastub.c", "exit.c", + "gdtoa-gethex.c", "gdtoa-hexnan.c", "getenv.c", "mprec.c", "mbtowc.c", + "mbtowc_r.c", "mbrtowc.c", "mlock.c", "calloc.c", "malloc.c", "mallocr.c", + "rand.c", "rand_r.c", "rand48.c", "realloc.c", "seed48.c", "srand48.c", + "strtod.c", "strtol.c", "strtold.c", "strtoll.c", "strtoll_r.c", "strtoul.c", + "strtoull.c", "strtoull_r.c", "system.c", "wcrtomb.c", "wctomb_r.c" +} +STRING_SRCS = { + "memcpy.c", "memcmp.c", "memmove.c", "memset.c", "memchr.c", "stpcpy.c", + "stpncpy.c", "strcat.c", "strchr.c", "strcmp.c", "strcoll.c", "strcasecmp.c", + "strncasecmp.c", "strncat.c", "strncmp.c", "strncpy.c", "strndup.c", + "strndup_r.c", "strnlen.c", "strcasestr.c", "strdup.c", "strdup_r.c", + "strerror.c", "strlen.c", "strrchr.c", "strpbrk.c", "strsep.c", "strstr.c", + "strtok.c", "strtok_r.c", "strupr.c", "strcspn.c", "strspn.c", "strcpy.c", + "u_strerr.c" +} + +STDIO_SRCS = { + "clearerr.c", "diprintf.c", "dprintf.c", "printf.c", "putchar.c", "fgetc.c", + "fgets.c", "fopen.c", "fclose.c", "fdopen.c", "fflush.c", "flags.c", + "fileno.c", "findfp.c", "fiprintf.c", "fiscanf.c", "fprintf.c", "fputc.c", + "fputs.c", "fputwc.c", "fread.c", "freopen.c", "fscanf.c", "fseek.c", + "fseeko.c", "ftell.c", "ftello.c", "fwrite.c", "fvwrite.c", "fwalk.c", + "putc.c", "puts.c", "refill.c", "rget.c", "remove.c", "setvbuf.c", "stdio.c", + "tmpfile.c", "tmpnam.c", "ungetc.c", "vasniprintf.c", "vasnprintf.c", + "vdprintf.c", "vdiprintf.c", "vscanf.c", "vsprintf.c", "vsnprintf.c", + "vsscanf.c", "makebuf.c", "wsetup.c", "wbuf.c", "sccl.c", "siprintf.c", + "sniprintf.c", "snprintf.c", "sprintf.c", "sscanf.c" +} + +MATH_SRCS = { + "e_acos.c", "e_acosh.c", "e_asin.c", "e_atan2.c", "e_atanh.c", "e_cosh.c", "e_exp.c", "e_fmod.c", + "e_hypot.c", "e_j0.c", "e_j1.c", "e_jn.c", "e_log.c", "e_log10.c", "e_pow.c", "e_rem_pio2.c", + "e_remainder.c", "e_scalb.c", "e_sinh.c", "e_sqrt.c", "ef_acos.c", "ef_acosh.c", "ef_asin.c", + "ef_atan2.c", "ef_atanh.c", "ef_cosh.c", "ef_exp.c", "ef_fmod.c", "ef_hypot.c", "ef_j0.c", "ef_j1.c", + "ef_jn.c", "ef_log.c", "ef_log10.c", "ef_pow.c", "ef_rem_pio2.c", "ef_remainder.c", "ef_scalb.c", + "ef_sinh.c", "ef_sqrt.c", "er_gamma.c", "er_lgamma.c", "erf_gamma.c", "erf_lgamma.c", "f_exp.c", + "f_expf.c", "f_llrint.c", "f_llrintf.c", "f_llrintl.c", "f_lrint.c", "f_lrintf.c", "f_lrintl.c", + "f_pow.c", "f_powf.c", "f_rint.c", "f_rintf.c", "f_rintl.c", "k_cos.c", "k_rem_pio2.c", "k_sin.c", + "k_standard.c", "k_tan.c", "kf_cos.c", "kf_rem_pio2.c", "kf_sin.c", "kf_tan.c", "s_asinh.c", + "s_atan.c", "s_cbrt.c", "s_ceil.c", "s_copysign.c", "s_cos.c", "s_erf.c", "s_exp10.c", "s_expm1.c", + "s_fabs.c", "s_fdim.c", "s_finite.c", "s_floor.c", "s_fma.c", "s_fmax.c", "s_fmin.c", "s_fpclassify.c", + "s_frexp.c", "s_ilogb.c", "s_infconst.c", "s_infinity.c", "s_isinf.c", "s_isinfd.c", "s_isnan.c", + "s_isnand.c", "s_ldexp.c", "s_lib_ver.c", "s_llrint.c", "s_llround.c", "s_log1p.c", "s_log2.c", + "s_logb.c", "s_lrint.c", "s_lround.c", "s_matherr.c", "s_modf.c", "s_nan.c", "s_nearbyint.c", + "s_nextafter.c", "s_pow10.c", "s_remquo.c", "s_rint.c", "s_round.c", "s_scalbln.c", "s_scalbn.c", + "s_signbit.c", "s_signif.c", "s_sin.c", "s_tan.c", "s_tanh.c", "s_trunc.c", "scalblnl.c", "scalbnl.c", + "sf_asinh.c", "sf_atan.c", "sf_cbrt.c", "sf_ceil.c", "sf_copysign.c", "sf_cos.c", "sf_erf.c", + "sf_exp10.c", "sf_expm1.c", "sf_fabs.c", "sf_fdim.c", "sf_finite.c", "sf_floor.c", "sf_fma.c", + "sf_fmax.c", "sf_fmin.c", "sf_fpclassify.c", "sf_frexp.c", "sf_ilogb.c", "sf_infinity.c", + "sf_isinf.c", "sf_isinff.c", "sf_isnan.c", "sf_isnanf.c", "sf_ldexp.c", "sf_llrint.c", + "sf_llround.c", "sf_log1p.c", "sf_log2.c", "sf_logb.c", "sf_lrint.c", "sf_lround.c", "sf_modf.c", + "sf_nan.c", "sf_nearbyint.c", "sf_nextafter.c", "sf_pow10.c", "sf_remquo.c", "sf_rint.c", + "sf_round.c", "sf_scalbln.c", "sf_scalbn.c", "sf_signif.c", "sf_sin.c", "sf_tan.c", "sf_tanh.c", + "sf_trunc.c", "w_acos.c", "w_acosh.c", "w_asin.c", "w_atan2.c", "w_atanh.c", "w_cosh.c", "w_drem.c", + "w_exp.c", "w_exp2.c", "w_fmod.c", "w_gamma.c", "w_hypot.c", "w_j0.c", "w_j1.c", "w_jn.c", "w_lgamma.c", + "w_log.c", "w_log10.c", "w_pow.c", "w_remainder.c", "w_scalb.c", "w_sincos.c", "w_sinh.c", "w_sqrt.c", + "w_tgamma.c", "wf_acos.c", "wf_acosh.c", "wf_asin.c", "wf_atan2.c", "wf_atanh.c", "wf_cosh.c", + "wf_drem.c", "wf_exp.c", "wf_exp2.c", "wf_fmod.c", "wf_gamma.c", "wf_hypot.c", "wf_j0.c", "wf_j1.c", + "wf_jn.c", "wf_lgamma.c", "wf_log.c", "wf_log10.c", "wf_pow.c", "wf_remainder.c", "wf_scalb.c", + "wf_sincos.c", "wf_sinh.c", "wf_sqrt.c", "wf_tgamma.c", "wr_gamma.c", "wr_lgamma.c", "wrf_gamma.c", + "wrf_lgamma.c", + "f_atan2.S", "f_atan2f.S", "f_frexp.S", "f_frexpf.S", "f_ldexp.S", "f_ldexpf.S", "f_log.S", + "f_log10.S", "f_log10f.S", "f_logf.S", "f_tan.S", "f_tanf.S" +} + +function prepend(what, to) + local result = {} + for i,v in ipairs(to) do + table.insert(result, what .. v) + end + return result +end + +-- make shared +LIB_SRCS = LIBCDLL_SRCS + +LIB_SRCS += CORE_SRCS +LIB_SRCS += prepend("stdio/", STDIO_SRCS) +LIB_SRCS += prepend("string/", STRING_SRCS) +LIB_SRCS += prepend("stdlib/", STDLIB_SRCS) +LIB_SRCS += prepend("math/", MATH_SRCS) + +ALL_OBJS = {} +function compile(list) + local result = {} + for i,v in ipairs(list) do + if ALL_OBJS[v] then + -- already compiled + elseif v:sub(-2) == ".c" or v:sub(-2) == ".S" then + ALL_OBJS[v] = tup.rule(v, "kos32-gcc $(CFLAGS) $(DEFINES) $(INCLUDES) -o %o %f", v:sub(1, -3) .. ".o") + elseif v:sub(-4) == ".asm" then + ALL_OBJS[v] = tup.rule(v, "fasm %f %o", v:sub(1, -5) .. ".obj") + end + result += ALL_OBJS[v] + end + return result +end + +LIB_OBJS = compile(LIB_SRCS) +LIBCRT_OBJS = compile(LIBCRT_SRCS) +LIBDLL_OBJS = compile(LIBDLL_SRCS) + +vfprintf_extra_objs = { + {"-DFLOATING_POINT", "stdio/vfprintf.o"}, + {"-DINTEGER_ONLY", "stdio/vfiprintf.o"}, + {"-DSTRING_ONLY", "stdio/svfprintf.o"}, + {"-DINTEGER_ONLY -DSTRING_ONLY", "stdio/svfiprintf.o"}, +} +for i,v in ipairs(vfprintf_extra_objs) do + LIB_OBJS += tup.rule("stdio/vfprintf.c", "kos32-gcc $(CFLAGS) $(DEFINES) $(INCLUDES) -fshort-enums " .. v[1] .. " -c %f -o %o", v[2]) +end + +vfscanf_extra_objs = { + {"", "stdio/vfscanf.o"}, + {"-DINTEGER_ONLY", "stdio/vfiscanf.o"}, + {"-DSTRING_ONLY", "stdio/svscanf.o"}, + {"-DINTEGER_ONLY -DSTRING_ONLY", "stdio/svfiscanf.o"}, +} +for i,v in ipairs(vfscanf_extra_objs) do + LIB_OBJS += tup.rule("stdio/vfscanf.c", "kos32-gcc $(CFLAGS) $(DEFINES) $(INCLUDES) -fshort-enums " .. v[1] .. " -c %f -o %o", v[2]) +end + +tup.rule(LIB_OBJS, "kos32-ld " .. LDFLAGS .. " " .. LIBPATH .. " -o %o %f -lgcc --version-script libc.ver " .. tup.getconfig("KPACK_CMD"), + {SDK_DIR .. "/bin/libc.dll", extra_outputs = {SDK_DIR .. "/lib/libc.dll.a", SDK_DIR .. "/lib/"}}) +tup.rule(LIBCRT_OBJS, "kos32-ar rcs %o %f", {SDK_DIR .. "/lib/libapp.a", extra_outputs = {SDK_DIR .. "/lib/"}}) +tup.rule(LIBDLL_OBJS, "kos32-ar rcs %o %f", {SDK_DIR .. "/lib/libdll.a", extra_outputs = {SDK_DIR .. "/lib/"}}) diff --git a/contrib/sdk/sources/newlib/libc/include/kos32sys.h b/contrib/sdk/sources/newlib/libc/include/kos32sys.h index de445dd075..a7baa0bc44 100644 --- a/contrib/sdk/sources/newlib/libc/include/kos32sys.h +++ b/contrib/sdk/sources/newlib/libc/include/kos32sys.h @@ -99,7 +99,7 @@ static inline void DrawWindow(int x, int y, int w, int h, const char *name, "c"((y << 16) | ((h-1) & 0xFFFF)), "d"((style << 24) | (workcolor & 0xFFFFFF)), "D"(name), - "S"(0)); + "S"(0) : "memory"); }; #define POS_SCREEN 0 @@ -275,7 +275,8 @@ void draw_text_sys(const char *text, int x, int y, int len, color_t color) "int $0x40" ::"a"(4),"d"(text), "b"((x << 16) | y), - "S"(len),"c"(color)); + "S"(len),"c"(color) + :"memory"); } static inline void yield(void) diff --git a/data/Tupfile.lua b/data/Tupfile.lua index 9ab5a1bee2..5b940f7893 100644 --- a/data/Tupfile.lua +++ b/data/Tupfile.lua @@ -97,11 +97,18 @@ if build_type == "it" then tup.append_table(img_files, { --[[ Files to be included in kolibri.iso and distribution kit outside of kolibri.img. + The first subitem of every item is name relative to the root of ISO or distribution kit, the second is name of local file. + If the first subitem ends in /, the last component of local file name is appended. The last component of the second subitem may contain '*'; if so, it will be expanded according to usual rules, but without matching directories. + +Tup does not allow a direct dependency on a file that is generated in a directory +other than where Tupfile.lua is and its children. Most files are generated +in the directory with Tupfile.lua; for other files, the item should contain +a named subitem "group=path/" and the file should be put in . --]] extra_files = { {"/", build_type .. "/distr_data/autorun.inf"}, @@ -137,7 +144,7 @@ extra_files = { {"kolibrios/lib/avformat-55.dll", "common/lib/avformat-55.dll"}, {"kolibrios/lib/avutil-52.dll", "common/lib/avutil-52.dll"}, {"kolibrios/lib/freetype.dll", "common/lib/freetype.dll"}, - {"kolibrios/lib/libc.dll", "common/lib/libc.dll"}, + {"kolibrios/lib/libc.dll", "../contrib/sdk/bin/libc.dll", group = "../contrib/sdk/lib/"}, {"kolibrios/lib/pixlib.dll", "common/lib/pixlib.dll"}, {"kolibrios/lib/swresample-0.dll", "common/lib/swresample-0.dll"}, {"kolibrios/lib/swscale-2.dll", "common/lib/swscale-2.dll"}, @@ -477,13 +484,13 @@ function expand_extra_files(files) then local g = tup.glob(v[2]) for j,x in ipairs(g) do - table.insert(result, {v[1], x}) + table.insert(result, {v[1], x, group=v.group}) end else if v.cp1251_from then tup.definerule{inputs = {v.cp1251_from}, command = 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs = {v[2]}} end - table.insert(result, {v[1], v[2]}) + table.insert(result, {v[1], v[2], group=v.group}) end end return result @@ -517,7 +524,7 @@ for i,v in ipairs(img_files) do -- tup does not want to see hidden files as dependencies if not string.match(local_file, "/%.") then - table.insert(input_deps, local_file) + table.insert(input_deps, v.group or local_file) end end @@ -570,7 +577,7 @@ input_deps = {"kolibri.img"} iso_files_list = "" for i,v in ipairs(iso_extra_files) do iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"' - table.insert(input_deps, v[2]) + table.insert(input_deps, v.group or v[2]) end -- generate tup rule for kolibri.iso @@ -589,8 +596,9 @@ tup.definerule{inputs = input_deps, command = cp = 'cp "%f" "%o"' tup.definerule{inputs = {"kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}} for i,v in ipairs(distr_extra_files) do + cmd = cp:gsub("%%f", v[2]) -- input can be a group, we can't rely on tup's expansion of %f in this case if string.sub(v[1], -1) == "/" - then tup.definerule{inputs = {v[2]}, command = cp, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}} - else tup.definerule{inputs = {v[2]}, command = cp, outputs = {"distribution_kit/" .. v[1]}} + then tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}} + else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}} end end diff --git a/data/common/lib/libc.dll b/data/common/lib/libc.dll deleted file mode 100644 index 2821f2046e82fa30694b0b60def06c3bc2a89c57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246784 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 diff --git a/programs/develop/libraries/newlib_example/Tupfile.lua b/programs/develop/libraries/newlib_example/Tupfile.lua new file mode 100644 index 0000000000..b319a3820b --- /dev/null +++ b/programs/develop/libraries/newlib_example/Tupfile.lua @@ -0,0 +1,6 @@ +if tup.getconfig("NO_GCC") ~= "" or tup.getconfig("NO_FASM") ~= "" then return end +HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR") +tup.include(HELPERDIR .. "/use_gcc.lua") +tup.include(HELPERDIR .. "/use_newlib.lua") +compile_gcc{"main.c"} +link_gcc("binclock") diff --git a/programs/develop/libraries/newlib_example/main.c b/programs/develop/libraries/newlib_example/main.c new file mode 100644 index 0000000000..dfe14a74df --- /dev/null +++ b/programs/develop/libraries/newlib_example/main.c @@ -0,0 +1,87 @@ +#include + +#define B_SZ 10 + +static char * Title="BinClock"; + +static void draw_small_box(int x,int y,int is_on) +{ + draw_bar(x,y,B_SZ,B_SZ,is_on ? 0xFF0000 : 0x103000); +} + +static void draw_box_group(int x,int y,int num) +{ + int i,j; + char buf[2]; + buf[0]=(num&(1+2+4+8))+'0'; + buf[1]='\0'; + for(i=0;i<4;i++) + { + j=(B_SZ+2)*i; + draw_small_box(x,y+((B_SZ+2)*i),num & (1<<(3-i)) ? 1 : 0); + } + draw_bar(x,y+((B_SZ+2)*4),B_SZ,B_SZ,0x800000); + draw_text_sys(buf,x+2,y+((B_SZ+2)*4)+3,1,0xFFFFFF); +} + +static void draw_bcd_num(int x,int y,int num) +{ + int v1,v2; + v1=(num>>4)&(1+2+4+8); + v2=num & (1+2+4+8); + draw_box_group(x,y,v1); + draw_box_group(x+B_SZ+2,y,v2); +} + +static void draw_hms(int x,int y) +{ + unsigned t; + int h,m,s; + __asm__ __volatile__("int $0x40" : "=a"(t) : "a"(3)); + s=(t & 0x00FF0000)>>16; + m=(t & 0x0000FF00)>>8; + h=(t & 0x000000FF); + draw_bcd_num(x,y,h); + x+=((B_SZ+2)<<1)+2; + draw_bcd_num(x,y,m); + x+=((B_SZ+2)<<1)+2; + draw_bcd_num(x,y,s); +} + +static void draw_h(void) +{ + draw_hms(22,28); +} + +static void paint(void) +{ + BeginDraw(); + DrawWindow(100,100,40+((B_SZ+2)*6)+4,30+((B_SZ+2)*4)+16,Title,0x80,0x13); + draw_bar(20,26,((B_SZ+2)*6)+4+2,4+((B_SZ+1)*4)+2,0); + draw_h(); + EndDraw(); +} + +int main(void) +{ + int i; + paint(); + for(;;) + { + i=wait_for_event(20); + draw_h(); + switch(i) + { + case 1: + paint(); + continue; + case 2: + get_key(); + continue; + case 3: + if(get_os_button()==1) return 0; + continue; + } + } +} + \ No newline at end of file diff --git a/programs/use_gcc.lua b/programs/use_gcc.lua index b8716109fa..e43c4b7c74 100644 --- a/programs/use_gcc.lua +++ b/programs/use_gcc.lua @@ -1,4 +1,12 @@ -CFLAGS = "-Os -fno-ident -fomit-frame-pointer -fno-stack-check -fno-stack-protector -mno-stack-arg-probe -mpreferred-stack-boundary=2 -fno-exceptions -fno-asynchronous-unwind-tables -ffast-math -mno-ms-bitfields -march=pentium-mmx" +CFLAGS_GENERIC = "-fno-ident -fomit-frame-pointer -fno-stack-check -fno-stack-protector -mno-stack-arg-probe -fno-exceptions -fno-asynchronous-unwind-tables -ffast-math -mno-ms-bitfields -march=pentium-mmx" +CFLAGS_OPTIMIZE_SIZE = "-Os -mpreferred-stack-boundary=2 " .. CFLAGS_GENERIC +CFLAGS_OPTIMIZE_SPEED = "-O2 -mpush-args -mno-accumulate-outgoing-args " .. CFLAGS_GENERIC +-- The following could in specific cases be marginally faster CFLAGS_OPTIMIZE_SPEED, +-- and in all cases gives a notable overhead in size. +CFLAGS_OPTIMIZE_SPEED_INSANE = "-O2 " .. CFLAGS_GENERIC +-- Default is optimizing by size. Override on per-project or per-file basis. +CFLAGS = CFLAGS_OPTIMIZE_SIZE + CFLAGS_c = "" -- extra flags for *.c CFLAGS_cpp = " -fno-rtti" -- extra flags for *.cpp LDFLAGS = "-nostdlib -n --file-alignment=16 --section-alignment=16" diff --git a/programs/use_newlib.lua b/programs/use_newlib.lua new file mode 100644 index 0000000000..2728a4193f --- /dev/null +++ b/programs/use_newlib.lua @@ -0,0 +1,16 @@ +NEWLIB_BASE = tup.getcwd() .. "/../contrib/sdk/sources/newlib" +NEWLIB_LIB = tup.getcwd() .. "/../contrib/sdk/lib" + +TOOLCHAIN_LIBPATH = tup.getconfig("TOOLCHAIN_LIBPATH") +-- if not given explicitly in config, try to guess +if TOOLCHAIN_LIBPATH == "" then + if tup.getconfig("TUP_PLATFORM") == "win32" + then TOOLCHAIN_LIBPATH="C:\\MinGW\\msys\\1.0\\home\\autobuild\\tools\\win32\\mingw32\\lib" + else TOOLCHAIN_LIBPATH="/home/autobuild/tools/win32/mingw32/lib" + end +end + +INCLUDES = INCLUDES .. " -I" .. NEWLIB_BASE .. "/libc/include" +LDFLAGS = LDFLAGS .. " -T$(NEWLIB_BASE)/app.lds -L$(NEWLIB_LIB) -L$(TOOLCHAIN_LIBPATH) --image-base 0" +tup.append_table(LIBDEPS, {NEWLIB_LIB .. "/", NEWLIB_LIB .. "/"}) +LIBS = LIBS .. "-lgcc -lapp -lc.dll" diff --git a/tup.config.template b/tup.config.template index 0b62c467b5..222123d588 100644 --- a/tup.config.template +++ b/tup.config.template @@ -19,6 +19,13 @@ # CONFIG_NO_GCC=full # CONFIG_NO_MSVC=full # CONFIG_NO_CMM=full +### Path to gcc toolchain library with -lgcc. +### Normally, you should not modify it, +### since the toolchain assumes the fixed path anyway. +### default Windows variant +# CONFIG_TOOLCHAIN_LIBPATH=C:\MinGW\msys\1.0\home\autobuild\tools\win32\mingw32\lib +### default Linux variant +# CONFIG_TOOLCHAIN_LIBPATH=/home/autobuild/tools/win32/mingw32/lib ### Optional postprocessing of binaries, where applicable. ### By default, no postprocessing is used.