1/* 2 * Stack-less Just-In-Time compiler 3 * 4 * Copyright 2009-2012 Zoltan Herczeg (hzmester@freemail.hu). All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without modification, are 7 * permitted provided that the following conditions are met: 8 * 9 * 1. Redistributions of source code must retain the above copyright notice, this list of 10 * conditions and the following disclaimer. 11 * 12 * 2. Redistributions in binary form must reproduce the above copyright notice, this list 13 * of conditions and the following disclaimer in the documentation and/or other materials 14 * provided with the distribution. 15 * 16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND CONTRIBUTORS ``AS IS'' AND ANY 17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 18 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 19 * SHALL THE COPYRIGHT HOLDER(S) OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 20 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 21 * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 22 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 23 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 24 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 */ 26 27#ifndef _SLJIT_CONFIG_H_ 28#define _SLJIT_CONFIG_H_ 29 30/* --------------------------------------------------------------------- */ 31/* Custom defines */ 32/* --------------------------------------------------------------------- */ 33 34/* Put your custom defines here. This empty section will never change 35 which helps maintaining patches (with diff / patch utilities). */ 36 37/* --------------------------------------------------------------------- */ 38/* Architecture */ 39/* --------------------------------------------------------------------- */ 40 41/* Architecture selection. */ 42/* #define SLJIT_CONFIG_X86_32 1 */ 43/* #define SLJIT_CONFIG_X86_64 1 */ 44/* #define SLJIT_CONFIG_ARM_V5 1 */ 45/* #define SLJIT_CONFIG_ARM_V7 1 */ 46/* #define SLJIT_CONFIG_ARM_THUMB2 1 */ 47/* #define SLJIT_CONFIG_PPC_32 1 */ 48/* #define SLJIT_CONFIG_PPC_64 1 */ 49/* #define SLJIT_CONFIG_MIPS_32 1 */ 50 51/* #define SLJIT_CONFIG_AUTO 1 */ 52/* #define SLJIT_CONFIG_UNSUPPORTED 1 */ 53 54/* --------------------------------------------------------------------- */ 55/* Utilities */ 56/* --------------------------------------------------------------------- */ 57 58/* Useful for thread-safe compiling of global functions. */ 59#ifndef SLJIT_UTIL_GLOBAL_LOCK 60/* Enabled by default */ 61#define SLJIT_UTIL_GLOBAL_LOCK 1 62#endif 63 64/* Implements a stack like data structure (by using mmap / VirtualAlloc). */ 65#ifndef SLJIT_UTIL_STACK 66/* Enabled by default */ 67#define SLJIT_UTIL_STACK 1 68#endif 69 70/* Single threaded application. Does not require any locks. */ 71#ifndef SLJIT_SINGLE_THREADED 72/* Disabled by default. */ 73#define SLJIT_SINGLE_THREADED 0 74#endif 75 76/* --------------------------------------------------------------------- */ 77/* Configuration */ 78/* --------------------------------------------------------------------- */ 79 80/* If SLJIT_STD_MACROS_DEFINED is not defined, the application should 81 define SLJIT_MALLOC, SLJIT_FREE, SLJIT_MEMMOVE, and NULL. */ 82#ifndef SLJIT_STD_MACROS_DEFINED 83/* Disabled by default. */ 84#define SLJIT_STD_MACROS_DEFINED 0 85#endif 86 87/* Executable code allocation: 88 If SLJIT_EXECUTABLE_ALLOCATOR is not defined, the application should 89 define both SLJIT_MALLOC_EXEC and SLJIT_FREE_EXEC. */ 90#ifndef SLJIT_EXECUTABLE_ALLOCATOR 91/* Enabled by default. */ 92#define SLJIT_EXECUTABLE_ALLOCATOR 1 93#endif 94 95/* Debug checks (assertions, etc.). */ 96#ifndef SLJIT_DEBUG 97/* Enabled by default */ 98#define SLJIT_DEBUG 1 99#endif 100 101/* Verbose operations */ 102#ifndef SLJIT_VERBOSE 103/* Enabled by default */ 104#define SLJIT_VERBOSE 1 105#endif 106 107/* See the beginning of sljitConfigInternal.h */ 108 109#endif 110