sysroot and cross-compiler based build WIP

This commit is contained in:
Justin C. Miller
2019-01-17 00:51:45 -08:00
parent 591ca7c83c
commit 523d0b3b8c
17 changed files with 664 additions and 14 deletions

View File

@@ -0,0 +1,12 @@
Import('target')
env = target.Clone()
env.Append(
CPPPATH = ['.', 'include', '#src/libraries/kutil/include'],
)
lib = env.Library('elf', Glob('*.cpp'))
Return('lib')
# vim: ft=python et

View File

@@ -0,0 +1,12 @@
Import('target')
env = target.Clone()
env.Append(
CPPPATH = ['.', 'include', '#src/libraries/kutil/include'],
)
lib = env.Library('initrd', Glob('*.cpp'))
Return('lib')
# vim: ft=python et

View File

@@ -0,0 +1,12 @@
Import('target')
env = target.Clone()
env.Append(
CPPPATH = ['.', 'include'],
)
lib = env.Library('kutil', Glob('*.cpp'))
Return('lib')
# vim: ft=python et

View File

@@ -1,12 +1,15 @@
#include "kutil/memory.h"
#include "kutil/memory_manager.h"
#include "kutil/type_macros.h"
__weak void * operator new (size_t, void *p) noexcept { return p; }
__weak void * operator new (size_t n) { return kutil::malloc(n); }
__weak void * operator new[] (size_t n) { return kutil::malloc(n); }
__weak void operator delete (void *p) noexcept { return kutil::free(p); }
__weak void operator delete[] (void *p) noexcept { return kutil::free(p); }
namespace std {
enum class __attribute__ ((__type_visibility("default"))) align_val_t : size_t { };
}
void * operator new(size_t n, std::align_val_t) { return kutil::malloc(n); }
void * operator new (size_t n) { return kutil::malloc(n); }
void * operator new[] (size_t n) { return kutil::malloc(n); }
void operator delete (void *p) noexcept { return kutil::free(p); }
void operator delete[] (void *p) noexcept { return kutil::free(p); }
namespace kutil {