Add a --multiarch-triplet switch to configure

Add a --multiarch-triplet switch to configure. The switch will allow
files to be search for each default path in path/<triplet> and then
path.
Default paths handled that way:
- CONFIG_TCC_SYSINCLUDE_PATHS
- CONFIG_TCC_LIBPATH
- path to crt*.o
- path to libgcc_s.so.1

Path missing: elf interpreter path (will be handled in another commit)
This commit is contained in:
Thomas Preud'homme
2011-08-01 22:32:44 +02:00
parent 5e954fef32
commit 76adc5770f
4 changed files with 153 additions and 74 deletions

34
tcc.h
View File

@ -139,37 +139,9 @@
#define true 1
typedef int BOOL;
#ifndef CONFIG_TCC_LDDIR
#if defined(TCC_TARGET_X86_64_CENTOS)
#define CONFIG_TCC_LDDIR "/lib64"
#else
#define CONFIG_TCC_LDDIR "/lib"
#endif
#endif
/* path to find crt1.o, crti.o and crtn.o */
#ifndef CONFIG_TCC_CRT_PREFIX
# define CONFIG_TCC_CRT_PREFIX "/usr" CONFIG_TCC_LDDIR
#endif
#ifndef CONFIG_TCC_SYSINCLUDE_PATHS
# ifdef TCC_TARGET_PE
# define CONFIG_TCC_SYSINCLUDE_PATHS "\b/include;\b/include/winapi"
# else
# define CONFIG_TCC_SYSINCLUDE_PATHS "/usr/local/include:/usr/include:\b/include"
# endif
#endif
#ifndef CONFIG_TCC_LIBPATH
# ifdef TCC_TARGET_PE
# define CONFIG_TCC_LIBPATH "\b/lib"
# else
# define CONFIG_TCC_LIBPATH \
CONFIG_SYSROOT CONFIG_TCC_CRT_PREFIX \
":" CONFIG_SYSROOT CONFIG_TCC_LDDIR \
":" CONFIG_SYSROOT "/usr/local" CONFIG_TCC_LDDIR
# endif
#endif
/* See definition of default values of CONFIG_TCC_LDDIR, CONFIG_TCC_CRT_PREFIX,
CONFIG_TCC_SYSINCLUDE_PATHS and CONFIG_TCC_LIBPATH in config.h or configure
*/
#define INCLUDE_STACK_SIZE 32
#define IFDEF_STACK_SIZE 64