.../
... + -- EO
| |
| |
+-- src ----- + -- EDO
| |
| |
+-- test + -- MO
| |
| |
+-- tutorial + -- MOEO
| |
| |
+-- doc + -- SMP
| |
| |
... + -- EOMPI
|
|
+ -- EOSERIAL
Question for current maintainers: ./README: new release?
Also:
* Moving out eompi & eoserial modules (issue #2).
* Correction of the errors when executing "make doc" command.
* Adding a solution for the conflicting headers problem (see the two CMake Cache
Values: PROJECT_TAG & PROJECT_HRS_INSTALL_SUBPATH) (issue #1)
* Header inclusions:
** src: changing absolute paths into relative paths ('#include <...>' -> '#include "..."')
** test, tutorial: changing relative paths into absolute paths ('#include "..."' -> '#include <...>')
* Moving out some scripts from EDO -> to the root
* Add a new script for compilation and installation (see build_gcc_linux_install)
* Compilation with uBLAS library or EDO module: now ok
* Minor modifications on README & INSTALL files
* Comment eompi failed tests with no end
*** TODO: CPack (debian (DEB) & RedHat (RPM) packages) (issues #6 & #7) ***
57 lines
1 KiB
C
Executable file
57 lines
1 KiB
C
Executable file
#include <stdio.h>
|
|
#include <libtcc.h>
|
|
#include <math.h>
|
|
|
|
static TCCState* s = 0;
|
|
|
|
extern void symc_init() {
|
|
if (s != 0) {
|
|
tcc_delete(s);
|
|
}
|
|
s = tcc_new();
|
|
if (s == 0) {
|
|
fprintf(stderr, "Tiny cc doesn't function properly");
|
|
exit(1);
|
|
}
|
|
|
|
tcc_set_output_type(s, TCC_OUTPUT_MEMORY);
|
|
}
|
|
|
|
extern int symc_compile(const char* func_str) {
|
|
//printf("Compiling %s\n", func_str);
|
|
int err = tcc_compile_string(s, func_str);
|
|
|
|
if (err) {
|
|
fprintf(stderr,"Compile failed");
|
|
}
|
|
return err;
|
|
}
|
|
|
|
extern int symc_link() {
|
|
int err = tcc_relocate(s);
|
|
if (err) {
|
|
fprintf(stderr,"Compile failed");
|
|
exit(1);
|
|
}
|
|
return err;
|
|
}
|
|
|
|
extern void* symc_get_fun(const char* func_name) {
|
|
unsigned long val;
|
|
tcc_get_symbol(s, &val, func_name);
|
|
|
|
if (val == 0) {
|
|
fprintf(stderr,"getfun failed");
|
|
exit(1);
|
|
}
|
|
|
|
return (void*) val;
|
|
}
|
|
|
|
extern void* symc_make(const char* func_str, const char* func_name) {
|
|
symc_init();
|
|
symc_compile(func_str);
|
|
symc_link();
|
|
return symc_get_fun(func_name);
|
|
}
|
|
|