From f6cfaa6d2591b8931f8fde9aebf7822202b78810 Mon Sep 17 00:00:00 2001 From: Thomas Preud'homme Date: Wed, 13 Feb 2013 17:01:53 +0100 Subject: Improve multiarch detection * Detect multiarch at configure time * Detect based on the place where crti.o is * Define multiarch triplet in tcc.h --- tcc.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'tcc.h') diff --git a/tcc.h b/tcc.h index fa09434..3a9c0e8 100644 --- a/tcc.h +++ b/tcc.h @@ -156,6 +156,34 @@ # define CONFIG_SYSROOT "" #endif +#if defined(CONFIG_TCC_MULTIARCH) && defined(TCC_IS_NATIVE) +/* Define architecture */ +# if defined(TCC_TARGET_I386) +# define TRIPLET_ARCH "i386" +# elif defined(TCC_TARGET_X86_64) +# define TRIPLET_ARCH "x86_64" +# elif defined(TCC_TARGET_ARM) +# define TRIPLET_ARCH "arm" +# else +# define TRIPLET_ARCH "unknown" +# endif +/* Define OS */ +# if defined (__linux__) +# define TRIPLET_OS "linux" +# elif defined (__FreeBSD__) || defined (__FreeBSD_kernel__) +# define TRIPLET_OS "kfreebsd" +# elif !defined (__GNU__) +# define TRIPLET_OS "unknown" +# endif +/* Define calling convention and ABI */ +# define TRIPLET_ABI "gnu" +# ifdef __GNU__ +# define CONFIG_MULTIARCHDIR TRIPLET_ARCH "-" TRIPLET_ABI +# else +# define CONFIG_MULTIARCHDIR TRIPLET_ARCH "-" TRIPLET_OS "-" TRIPLET_ABI +# endif +#endif + #ifndef CONFIG_LDDIR # ifdef CONFIG_MULTIARCHDIR # define CONFIG_LDDIR "lib/" CONFIG_MULTIARCHDIR -- cgit v1.3.1