mirror of
				https://github.com/janet-lang/janet
				synced 2025-10-31 07:33:01 +00:00 
			
		
		
		
	Add features.h for feature test macros.
Because we use an amalgated build, feature test macros should be set in a single file that is included before any other headers, and is placed at the top of the amalgamated build.
This commit is contained in:
		
							
								
								
									
										3
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								Makefile
									
									
									
									
									
								
							| @@ -67,7 +67,8 @@ all: $(JANET_TARGET) $(JANET_LIBRARY) $(JANET_STATIC_LIBRARY) | |||||||
|  |  | ||||||
| JANET_HEADERS=src/include/janet.h src/conf/janetconf.h | JANET_HEADERS=src/include/janet.h src/conf/janetconf.h | ||||||
|  |  | ||||||
| JANET_LOCAL_HEADERS=src/core/util.h \ | JANET_LOCAL_HEADERS=src/core/features.h \ | ||||||
|  | 					src/core/util.h \ | ||||||
| 					src/core/state.h \ | 					src/core/state.h \ | ||||||
| 					src/core/gc.h \ | 					src/core/gc.h \ | ||||||
| 					src/core/vector.h \ | 					src/core/vector.h \ | ||||||
|   | |||||||
| @@ -93,7 +93,7 @@ set "amalg_files=" | |||||||
| for %%f in (src\core\*.c) do ( | for %%f in (src\core\*.c) do ( | ||||||
|     set "amalg_files=!amalg_files! %%f" |     set "amalg_files=!amalg_files! %%f" | ||||||
| ) | ) | ||||||
| janet.exe tools\amalg.janet src\core\util.h src\core\state.h src\core\gc.h src\core\vector.h src\core\fiber.h src\core\regalloc.h src\core\compile.h src\core\emit.h src\core\symcache.h %amalg_files% build\core_image.c > build\janet.c | janet.exe tools\amalg.janet src\core\features.h src\core\util.h src\core\state.h src\core\gc.h src\core\vector.h src\core\fiber.h src\core\regalloc.h src\core\compile.h src\core\emit.h src\core\symcache.h %amalg_files% build\core_image.c > build\janet.c | ||||||
| janet.exe tools\removecr.janet build\janet.c | janet.exe tools\removecr.janet build\janet.c | ||||||
|  |  | ||||||
| @rem Gen shell.c | @rem Gen shell.c | ||||||
|   | |||||||
| @@ -88,6 +88,7 @@ boot_gen = gen.process('src/boot/boot.janet', extra_args: 'janet_gen_boot') | |||||||
| # Order is important here, as some headers | # Order is important here, as some headers | ||||||
| # depend on other headers for the amalg target | # depend on other headers for the amalg target | ||||||
| core_headers = [ | core_headers = [ | ||||||
|  |   'src/core/features.h', | ||||||
|   'src/core/util.h', |   'src/core/util.h', | ||||||
|   'src/core/state.h', |   'src/core/state.h', | ||||||
|   'src/core/gc.h', |   'src/core/gc.h', | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "gc.h" | #include "gc.h" | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "gc.h" | #include "gc.h" | ||||||
| #include "util.h" | #include "util.h" | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "util.h" | #include "util.h" | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "gc.h" | #include "gc.h" | ||||||
| #include "util.h" | #include "util.h" | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "gc.h" | #include "gc.h" | ||||||
| #include "util.h" | #include "util.h" | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "state.h" | #include "state.h" | ||||||
| #include "fiber.h" | #include "fiber.h" | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "compile.h" | #include "compile.h" | ||||||
| #include "emit.h" | #include "emit.h" | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "compile.h" | #include "compile.h" | ||||||
| #include "emit.h" | #include "emit.h" | ||||||
|   | |||||||
| @@ -24,6 +24,7 @@ | |||||||
| #define JANET_COMPILE_H | #define JANET_COMPILE_H | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "regalloc.h" | #include "regalloc.h" | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include <math.h> | #include <math.h> | ||||||
| #include "compile.h" | #include "compile.h" | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "gc.h" | #include "gc.h" | ||||||
| #include "state.h" | #include "state.h" | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "emit.h" | #include "emit.h" | ||||||
| #include "vector.h" | #include "vector.h" | ||||||
|   | |||||||
							
								
								
									
										36
									
								
								src/core/features.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								src/core/features.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | |||||||
|  | /* | ||||||
|  | * Copyright (c) 2019 Calvin Rose | ||||||
|  | * | ||||||
|  | * Permission is hereby granted, free of charge, to any person obtaining a copy | ||||||
|  | * of this software and associated documentation files (the "Software"), to | ||||||
|  | * deal in the Software without restriction, including without limitation the | ||||||
|  | * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or | ||||||
|  | * sell copies of the Software, and to permit persons to whom the Software is | ||||||
|  | * furnished to do so, subject to the following conditions: | ||||||
|  | * | ||||||
|  | * The above copyright notice and this permission notice shall be included in | ||||||
|  | * all copies or substantial portions of the Software. | ||||||
|  | * | ||||||
|  | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||||
|  | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||||
|  | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||||
|  | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||||
|  | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||||||
|  | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | ||||||
|  | * IN THE SOFTWARE. | ||||||
|  | */ | ||||||
|  |  | ||||||
|  | /* Feature test macros */ | ||||||
|  |  | ||||||
|  | #ifndef JANET_FEATURES_H_defined | ||||||
|  | #define JANET_FEATURES_H_defined | ||||||
|  |  | ||||||
|  | #if !defined(_POSIX_C_SOURCE) | ||||||
|  | #define _POSIX_C_SOURCE 200112L | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | #if !defined(_BSD_SOURCE) && defined(JANET_BSD) | ||||||
|  | #define _BSD_SOURCE 1 | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | #endif | ||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "fiber.h" | #include "fiber.h" | ||||||
| #include "state.h" | #include "state.h" | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "state.h" | #include "state.h" | ||||||
| #include "symcache.h" | #include "symcache.h" | ||||||
|   | |||||||
| @@ -24,6 +24,7 @@ | |||||||
| #define JANET_GC_H | #define JANET_GC_H | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|   | |||||||
| @@ -27,6 +27,7 @@ | |||||||
| #include <math.h> | #include <math.h> | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "util.h" | #include "util.h" | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "util.h" | #include "util.h" | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "state.h" | #include "state.h" | ||||||
| #include "vector.h" | #include "vector.h" | ||||||
|   | |||||||
| @@ -20,13 +20,14 @@ | |||||||
| * IN THE SOFTWARE. | * IN THE SOFTWARE. | ||||||
| */ | */ | ||||||
|  |  | ||||||
| #include <math.h> |  | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "util.h" | #include "util.h" | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #include <math.h> | ||||||
|  |  | ||||||
| static JANET_THREAD_LOCAL JanetRNG janet_vm_rng = {0, 0, 0, 0, 0}; | static JANET_THREAD_LOCAL JanetRNG janet_vm_rng = {0, 0, 0, 0, 0}; | ||||||
|  |  | ||||||
| static int janet_rng_get(void *p, Janet key, Janet *out); | static int janet_rng_get(void *p, Janet key, Janet *out); | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "util.h" | #include "util.h" | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "util.h" | #include "util.h" | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include <string.h> | #include <string.h> | ||||||
| #include "util.h" | #include "util.h" | ||||||
|   | |||||||
| @@ -20,16 +20,17 @@ | |||||||
| * IN THE SOFTWARE. | * IN THE SOFTWARE. | ||||||
| */ | */ | ||||||
|  |  | ||||||
| #include <string.h> |  | ||||||
| #include <ctype.h> |  | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "util.h" | #include "util.h" | ||||||
| #include "state.h" | #include "state.h" | ||||||
| #include <math.h> | #include <math.h> | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #include <string.h> | ||||||
|  | #include <ctype.h> | ||||||
|  |  | ||||||
| /* Implements a pretty printer for Janet. The pretty printer | /* Implements a pretty printer for Janet. The pretty printer | ||||||
|  * is simple and not that flexible, but fast. */ |  * is simple and not that flexible, but fast. */ | ||||||
|  |  | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "regalloc.h" | #include "regalloc.h" | ||||||
| #include "util.h" | #include "util.h" | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "state.h" | #include "state.h" | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "compile.h" | #include "compile.h" | ||||||
| #include "util.h" | #include "util.h" | ||||||
|   | |||||||
| @@ -20,15 +20,16 @@ | |||||||
| * IN THE SOFTWARE. | * IN THE SOFTWARE. | ||||||
| */ | */ | ||||||
|  |  | ||||||
| #include <string.h> |  | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "gc.h" | #include "gc.h" | ||||||
| #include "util.h" | #include "util.h" | ||||||
| #include "state.h" | #include "state.h" | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #include <string.h> | ||||||
|  |  | ||||||
| /* Begin building a string */ | /* Begin building a string */ | ||||||
| uint8_t *janet_string_begin(int32_t length) { | uint8_t *janet_string_begin(int32_t length) { | ||||||
|     JanetStringHead *head = janet_gcalloc(JANET_MEMORY_STRING, sizeof(JanetStringHead) + length + 1); |     JanetStringHead *head = janet_gcalloc(JANET_MEMORY_STRING, sizeof(JanetStringHead) + length + 1); | ||||||
|   | |||||||
| @@ -40,14 +40,15 @@ | |||||||
|  * '0xdeadbeef'. |  * '0xdeadbeef'. | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| #include <math.h> |  | ||||||
| #include <string.h> |  | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "util.h" | #include "util.h" | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #include <math.h> | ||||||
|  | #include <string.h> | ||||||
|  |  | ||||||
| /* Lookup table for getting values of characters when parsing numbers. Handles | /* Lookup table for getting values of characters when parsing numbers. Handles | ||||||
|  * digits 0-9 and a-z (and A-Z). A-Z have values of 10 to 35. */ |  * digits 0-9 and a-z (and A-Z). A-Z have values of 10 to 35. */ | ||||||
| static uint8_t digit_lookup[128] = { | static uint8_t digit_lookup[128] = { | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "gc.h" | #include "gc.h" | ||||||
| #include "util.h" | #include "util.h" | ||||||
|   | |||||||
| @@ -25,9 +25,8 @@ | |||||||
|  * checks, all symbols are interned so that there is a single copy of it in the |  * checks, all symbols are interned so that there is a single copy of it in the | ||||||
|  * whole program. Equality is then just a pointer check. */ |  * whole program. Equality is then just a pointer check. */ | ||||||
|  |  | ||||||
| #include <string.h> |  | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "state.h" | #include "state.h" | ||||||
| #include "gc.h" | #include "gc.h" | ||||||
| @@ -35,6 +34,8 @@ | |||||||
| #include "symcache.h" | #include "symcache.h" | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #include <string.h> | ||||||
|  |  | ||||||
| /* Cache state */ | /* Cache state */ | ||||||
| JANET_THREAD_LOCAL const uint8_t **janet_vm_cache = NULL; | JANET_THREAD_LOCAL const uint8_t **janet_vm_cache = NULL; | ||||||
| JANET_THREAD_LOCAL uint32_t janet_vm_cache_capacity = 0; | JANET_THREAD_LOCAL uint32_t janet_vm_cache_capacity = 0; | ||||||
|   | |||||||
| @@ -24,6 +24,7 @@ | |||||||
| #define JANET_SYMCACHE_H_defined | #define JANET_SYMCACHE_H_defined | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "gc.h" | #include "gc.h" | ||||||
| #include "util.h" | #include "util.h" | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "gc.h" | #include "gc.h" | ||||||
| #include "util.h" | #include "util.h" | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "symcache.h" | #include "symcache.h" | ||||||
| #include "gc.h" | #include "gc.h" | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "util.h" | #include "util.h" | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -20,15 +20,16 @@ | |||||||
| * IN THE SOFTWARE. | * IN THE SOFTWARE. | ||||||
| */ | */ | ||||||
|  |  | ||||||
| #include <inttypes.h> |  | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "util.h" | #include "util.h" | ||||||
| #include "state.h" | #include "state.h" | ||||||
| #include "gc.h" | #include "gc.h" | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #include <inttypes.h> | ||||||
|  |  | ||||||
| /* Base 64 lookup table for digits */ | /* Base 64 lookup table for digits */ | ||||||
| const char janet_base64[65] = | const char janet_base64[65] = | ||||||
|     "0123456789" |     "0123456789" | ||||||
|   | |||||||
| @@ -23,21 +23,13 @@ | |||||||
| #ifndef JANET_UTIL_H_defined | #ifndef JANET_UTIL_H_defined | ||||||
| #define JANET_UTIL_H_defined | #define JANET_UTIL_H_defined | ||||||
|  |  | ||||||
| #include <stdio.h> |  | ||||||
| #include <errno.h> |  | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /* For internal usage */ | #include <stdio.h> | ||||||
| #if !defined(_POSIX_C_SOURCE) | #include <errno.h> | ||||||
| #define _POSIX_C_SOURCE 200112L |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| #if !defined(_BSD_SOURCE) && defined(JANET_BSD) |  | ||||||
| #define _BSD_SOURCE 1 |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| /* Handle runtime errors */ | /* Handle runtime errors */ | ||||||
| #ifndef janet_exit | #ifndef janet_exit | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include "vector.h" | #include "vector.h" | ||||||
| #include "util.h" | #include "util.h" | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -24,6 +24,7 @@ | |||||||
| #define JANET_VECTOR_H_defined | #define JANET_VECTOR_H_defined | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
|  | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
| #include "state.h" | #include "state.h" | ||||||
| #include "fiber.h" | #include "fiber.h" | ||||||
|   | |||||||
| @@ -21,8 +21,9 @@ | |||||||
| */ | */ | ||||||
|  |  | ||||||
| #ifndef JANET_AMALG | #ifndef JANET_AMALG | ||||||
| #include <math.h> | #include "features.h" | ||||||
| #include <janet.h> | #include <janet.h> | ||||||
|  | #include <math.h> | ||||||
| #include "util.h" | #include "util.h" | ||||||
| #include "state.h" | #include "state.h" | ||||||
| #endif | #endif | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Calvin Rose
					Calvin Rose