2023-09-25 13:42:29 -07:00
|
|
|
#ifdef GEN_INTELLISENSE_DIRECTIVES
|
2024-12-10 17:45:00 -08:00
|
|
|
# pragma once
|
2023-09-25 13:42:29 -07:00
|
|
|
# include "header_start.hpp"
|
|
|
|
#endif
|
|
|
|
|
2023-07-25 20:00:57 -07:00
|
|
|
#pragma region Macros and Includes
|
|
|
|
|
2023-07-24 15:35:16 -07:00
|
|
|
# include <stdio.h>
|
|
|
|
// NOTE: Ensure we use standard methods for these calls if we use GEN_PICO
|
|
|
|
# if ! defined( GEN_PICO_CUSTOM_ROUTINES )
|
|
|
|
# if ! defined( GEN_MODULE_CORE )
|
|
|
|
# define _strlen strlen
|
|
|
|
# define _printf_err( fmt, ... ) fprintf( stderr, fmt, __VA_ARGS__ )
|
|
|
|
# define _printf_err_va( fmt, va ) vfprintf( stderr, fmt, va )
|
|
|
|
# else
|
|
|
|
# define _strlen str_len
|
|
|
|
# define _printf_err( fmt, ... ) str_fmt_out_err( fmt, __VA_ARGS__ )
|
|
|
|
# define _printf_err_va( fmt, va ) str_fmt_out_err_va( fmt, va )
|
|
|
|
# endif
|
|
|
|
# endif
|
|
|
|
#
|
|
|
|
# include <errno.h>
|
|
|
|
#
|
|
|
|
# if defined( GEN_SYSTEM_UNIX ) || defined( GEN_SYSTEM_MACOS )
|
|
|
|
# include <unistd.h>
|
|
|
|
# elif defined( GEN_SYSTEM_WINDOWS )
|
|
|
|
# if ! defined( GEN_NO_WINDOWS_H )
|
|
|
|
# ifndef WIN32_LEAN_AND_MEAN
|
|
|
|
# ifndef NOMINMAX
|
|
|
|
# define NOMINMAX
|
|
|
|
# endif
|
|
|
|
#
|
|
|
|
# define WIN32_LEAN_AND_MEAN
|
|
|
|
# define WIN32_MEAN_AND_LEAN
|
|
|
|
# define VC_EXTRALEAN
|
|
|
|
# endif
|
|
|
|
# include <windows.h>
|
|
|
|
# undef NOMINMAX
|
|
|
|
# undef WIN32_LEAN_AND_MEAN
|
|
|
|
# undef WIN32_MEAN_AND_LEAN
|
|
|
|
# undef VC_EXTRALEAN
|
|
|
|
# endif
|
|
|
|
# endif
|
|
|
|
|
|
|
|
#include <sys/stat.h>
|
|
|
|
|
|
|
|
#ifdef GEN_SYSTEM_MACOS
|
|
|
|
# include <copyfile.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef GEN_SYSTEM_CYGWIN
|
|
|
|
# include <windows.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined( GEN_SYSTEM_WINDOWS ) && ! defined( GEN_COMPILER_GCC )
|
|
|
|
# include <io.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined( GEN_SYSTEM_LINUX )
|
|
|
|
# include <sys/types.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef GEN_BENCHMARK
|
|
|
|
// Timing includes
|
|
|
|
#if defined( GEN_SYSTEM_MACOS ) || GEN_SYSTEM_UNIX
|
|
|
|
# include <time.h>
|
|
|
|
# include <sys/time.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined( GEN_SYSTEM_MACOS )
|
|
|
|
# include <mach/mach.h>
|
|
|
|
# include <mach/mach_time.h>
|
|
|
|
# include <mach/clock.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined( GEN_SYSTEM_EMSCRIPTEN )
|
|
|
|
# include <emscripten.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined( GEN_SYSTEM_WINDOWS )
|
|
|
|
# include <timezoneapi.h>
|
|
|
|
#endif
|
|
|
|
#endif
|
2023-07-25 20:00:57 -07:00
|
|
|
|
|
|
|
#pragma endregion Macros and Includes
|