2008-06-25 20:53:48 +00:00
|
|
|
/* Copyright (c) 2008, Avian Contributors
|
|
|
|
|
|
|
|
Permission to use, copy, modify, and/or distribute this software
|
|
|
|
for any purpose with or without fee is hereby granted, provided
|
|
|
|
that the above copyright notice and this permission notice appear
|
|
|
|
in all copies.
|
|
|
|
|
|
|
|
There is NO WARRANTY for this software. See license.txt for
|
|
|
|
details. */
|
|
|
|
|
2008-03-31 03:43:43 +00:00
|
|
|
#include "stdint.h"
|
|
|
|
#include "stdlib.h"
|
|
|
|
|
2008-10-13 22:31:59 +00:00
|
|
|
#ifndef USE_LIBSTDCPP
|
|
|
|
// since we aren't linking against libstdc++, we must implement some
|
|
|
|
// dummy functions:
|
2008-03-31 03:43:43 +00:00
|
|
|
extern "C" void __cxa_pure_virtual(void) { abort(); }
|
|
|
|
void operator delete(void*) { abort(); }
|
2008-10-13 22:31:59 +00:00
|
|
|
#endif
|
2008-03-31 03:43:43 +00:00
|
|
|
|
|
|
|
#ifdef __MINGW32__
|
|
|
|
# define EXPORT __declspec(dllexport)
|
|
|
|
# define SYMBOL(x) binary_classpath_jar_##x
|
|
|
|
#else
|
|
|
|
# define EXPORT __attribute__ ((visibility("default")))
|
|
|
|
# define SYMBOL(x) _binary_classpath_jar_##x
|
|
|
|
#endif
|
|
|
|
|
|
|
|
extern "C" {
|
|
|
|
|
|
|
|
extern const uint8_t SYMBOL(start)[];
|
|
|
|
extern const uint8_t SYMBOL(end)[];
|
|
|
|
|
|
|
|
EXPORT const uint8_t*
|
|
|
|
classpathJar(unsigned* size)
|
|
|
|
{
|
|
|
|
*size = SYMBOL(end) - SYMBOL(start);
|
|
|
|
return SYMBOL(start);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|