blob: 79b4af1a24d9cc4ca75ba97975426ae390c45b1c [file] [log] [blame]
/* This file is part of bsconf - a configure replacement.
*
* This is the configuration file used by bsconf.c to specify information
* specific to your project that it needs to substitute into files listed
* in g_Files. Being a configuration file, this file can be used or
* modified entirely without restriction. You should change all values
* appropriately to the name of your project and its requirements. The
* bsconf license does not apply to this file. It can and should be
* treated as a template for the creation of your own configuration file.
*
* All substituted variable names are given without enclosing @@. For
* example: "CC" will match "@CC@" in config.h.in and replace it with
* "gcc" in config.h.
*/
#include "uassert.h"
#define BSCONF_VERSION 0x03
#define PACKAGE_NAME "ustl"
#define LIB_MAJOR "1"
#define LIB_MINOR "0"
#define LIB_BUILD "0"
#define PACKAGE_VERSION LIB_MAJOR "." LIB_MINOR
#define PACKAGE_TARNAME PACKAGE_NAME
#define PACKAGE_STRING PACKAGE_NAME " " PACKAGE_VERSION
#define PACKAGE_BUGREPORT "Mike Sharov <msharov@users.sourceforge.net>"
static cpchar_t g_Files [] = {
"Config.mk",
"config.h",
"ustl.spec"
};
/* Values substitute @VARNAME@ */
static cpchar_t g_EnvVars [] = {
"CC",
"LD",
"CXX",
"CPP",
"HOME",
"CXXFLAGS",
"LDFLAGS",
"CPPFLAGS",
"LDFLAGS",
"CFLAGS"
};
/* VARIABLE PROGRAM HOW TO CALL IF NOT FOUND */
static cpchar_t g_ProgVars [] = {
"CC", "gcc", "gcc", "@CC@",
"CC", "cc", "cc", "gcc",
"CXX", "g++", "g++", "@CXX@",
"CXX", "c++", "c++", "g++",
"LD", "ld", "ld", "ld",
"AR", "ar", "ar", "echo",
"RANLIB", "ranlib", "ranlib", "touch",
"DOXYGEN", "doxygen", "doxygen", "echo",
"INSTALL", "install", "install -c", "cp"
};
/* NAME IF NOT FOUND IF FOUND */
static cpchar_t g_Headers [] = {
"assert.h", "#undef HAVE_ASSERT_H", "#define HAVE_ASSERT_H 1",
"ctype.h", "#undef HAVE_CTYPE_H", "#define HAVE_CTYPE_H 1",
"errno.h", "#undef HAVE_ERRNO_H", "#define HAVE_ERRNO_H 1",
"fcntl.h", "#undef HAVE_FCNTL_H", "#define HAVE_FCNTL_H 1",
"float.h", "#undef HAVE_FLOAT_H", "#define HAVE_FLOAT_H 1",
"inttypes.h", "#undef HAVE_INTTYPES_H", "#define HAVE_INTTYPES_H 1",
"limits.h", "#undef HAVE_LIMITS_H", "#define HAVE_LIMITS_H 1",
"locale.h", "#undef HAVE_LOCALE_H", "#define HAVE_LOCALE_H 1",
"malloc.h", "#undef HAVE_MALLOC_H", "#define HAVE_MALLOC_H 1",
"alloca.h", "#undef HAVE_ALLOCA_H", "#define HAVE_ALLOCA_H 1",
"memory.h", "#undef HAVE_MEMORY_H", "#define HAVE_MEMORY_H 1",
"signal.h", "#undef HAVE_SIGNAL_H", "#define HAVE_SIGNAL_H 1",
"stdarg.h", "#undef HAVE_STDARG_H", "#define HAVE_STDARG_H 1",
"stddef.h", "#undef HAVE_STDDEF_H", "#define HAVE_STDDEF_H 1",
"stdint.h", "#undef HAVE_STDINT_H", "#define HAVE_STDINT_H 1",
"stdio.h", "#undef HAVE_STDIO_H", "#define HAVE_STDIO_H 1",
"stdlib.h", "#undef HAVE_STDLIB_H", "#define HAVE_STDLIB_H 1",
"string.h", "#undef HAVE_STRING_H", "#define HAVE_STRING_H 1",
"strings.h", "#undef HAVE_STRINGS_H", "#define HAVE_STRINGS_H 1",
"sys/stat.h", "#undef HAVE_SYS_STAT_H", "#define HAVE_SYS_STAT_H 1",
"sys/types.h", "#undef HAVE_SYS_TYPES_H", "#define HAVE_SYS_TYPES_H 1",
"sys/wait.h", "#undef HAVE_SYS_WAIT_H", "#define HAVE_SYS_WAIT_H 1",
"time.h", "#undef HAVE_TIME_H", "#define HAVE_TIME_H 1",
"unistd.h", "#undef HAVE_UNISTD_H", "#define HAVE_UNISTD_H 1",
"math.h", "#undef HAVE_MATH_H", "#define HAVE_MATH_H 1",
"stdlib.h", "#undef HAVE_STDLIB_H", "#define HAVE_STDLIB_H 1"
};
/* NAME IF NOT FOUND IF FOUND */
static cpchar_t g_Libs [] = {
"supc++", "", "-lsupc++",
#if __GNUC__ >= 4
"gcc", "-lgcc_s", "-lgcc_s",
"gcc_eh", "", "",
#elif __GNUC__ >= 3
"gcc", "-lgcc_s", "-lgcc",
"gcc_eh", "-lgcc_s", "-lgcc_eh",
#else
"gcc", "", "-lgcc",
"gcc_eh", "", "",
#endif
"SystemStubs", "", "-lSystemStubs", /* For MacOS 10.4+ */
"c", "", "-lc"
};
/* NAME IF NOT FOUND IF FOUND */
static cpchar_t g_Functions [] = {
"atexit", "#undef HAVE_ATEXIT", "#define HAVE_ATEXIT 1",
"malloc", "#undef HAVE_MALLOC\n", "#define HAVE_MALLOC 1\n",
"memchr", "#undef HAVE_MEMCHR", "#define HAVE_MEMCHR 1",
"memmove", "#undef HAVE_MEMMOVE", "#define HAVE_MEMMOVE 1",
"memset", "#undef HAVE_MEMSET", "#define HAVE_MEMSET 1",
"ptrdiff_t", "#undef HAVE_PTRDIFF_T", "#define HAVE_PTRDIFF_T 1",
"strerror", "#undef HAVE_STRERROR", "#define HAVE_STRERROR 1",
"strsignal", "#undef HAVE_STRSIGNAL", "#define HAVE_STRSIGNAL 1",
"strtol", "#undef HAVE_STRTOL", "#define HAVE_STRTOL 1",
#if __GNUC__ >= 3
"round", "#undef HAVE_ROUND", "#define HAVE_ROUND 1",
#endif
"strrchr", "#undef HAVE_STRRCHR", "#define HAVE_STRRCHR 1",
"__va_copy", "#undef HAVE_VA_COPY", "#define HAVE_VA_COPY 1"
};
/* NAME WITHOUT TEXT WITH TEXT */
static cpchar_t g_Components [] = {
"shared", "#BUILD_SHARED\t= 1", "BUILD_SHARED\t= 1 ",
"static", "#BUILD_STATIC\t= 1", "BUILD_STATIC\t= 1 ",
"debug", "#DEBUG\t\t= 1", "DEBUG\t\t= 1 ",
"bounds", "#undef WANT_STREAM_BOUNDS_CHECKING", "#define WANT_STREAM_BOUNDS_CHECKING 1 ",
"fastcopy", "#undef WANT_UNROLLED_COPY", "#define WANT_UNROLLED_COPY 1 ",
#if __GNUC__ >= 3 && (__i386__ || __x86_64__) && !sun
"mmx", "#undef WANT_MMX", "#define WANT_MMX 1 ",
#endif
"libstdc++", "#define WITHOUT_LIBSTDCPP 1", "#undef WITHOUT_LIBSTDCPP",
"libstdc++", "NOLIBSTDCPP\t= -nodefaultlibs ", "#NOLIBSTDCPP\t= -nodefaultlibs"
};
/* Parallel to g_Components */
static SComponentInfo g_ComponentInfos [VectorSize(g_Components) / 3] = {
{ 1, "Builds the shared library (if supported by the OS)" },
{ 0, "Builds the static library" },
{ 0, "Compiles the library with debugging information" },
{ 1, "Disable runtime bounds checking on stream reads/writes" },
{ 1, "Disable specializations for copy/fill" },
#if __GNUC__ >= 3 && (__i386__ || __x86_64__) && !sun
{ 1, "Disable use of MMX/SSE/3dNow! instructions" },
#endif
#if __GNUC__ >= 3
{ 0, "Link with libstdc++" },
{ 0, "" }
#else
{ 1, "" },
{ 1, "" }
#endif
};
/* Substitutes names like @PACKAGE_NAME@ with the second field */
static cpchar_t g_CustomVars [] = {
"PACKAGE_NAME", PACKAGE_NAME,
"PACKAGE_VERSION", PACKAGE_VERSION,
"PACKAGE_TARNAME", PACKAGE_TARNAME,
"PACKAGE_STRING", PACKAGE_STRING,
"PACKAGE_BUGREPORT", PACKAGE_BUGREPORT,
"LIBNAME", PACKAGE_NAME,
"LIB_MAJOR", LIB_MAJOR,
"LIB_MINOR", LIB_MINOR,
"LIB_BUILD", LIB_BUILD
};