From 31ca000d72bc48060f205d94bfffc25ffe5fd18d Mon Sep 17 00:00:00 2001 From: Thomas Preud'homme Date: Tue, 5 Jul 2011 10:47:32 +0200 Subject: Add multiarch dirs to linker search path By default, tcc search libraries in /lib and /usr/local/lib while crt*.o files are searched in /usr/lib and ld.so is searched in /lib. Unfortunetely the path are hardcoded in source code. This patch allow tcc to look in an other directory and also to look in extra directories. It's then possible to make tcc search libraries in /lib/x86_64-linux-gnu and /usr/local/lib/x86_64-linux-gnu while crt*.o files are searched in /usr/lib/x86_64-linux-gnu and ld.so is searched in /lib/x86_64-linux-gnu. --- tcc.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'tcc.h') diff --git a/tcc.h b/tcc.h index fcbfadc..686b3c5 100644 --- a/tcc.h +++ b/tcc.h @@ -142,13 +142,14 @@ typedef int BOOL; /* path to find crt1.o, crti.o and crtn.o. Only needed when generating executables or dlls */ -#if defined(TCC_TARGET_X86_64_CENTOS) -# define CONFIG_TCC_CRT_PREFIX CONFIG_SYSROOT "/usr/lib64" -# define CONFIG_TCC_LDDIR "/lib64" -#else -# define CONFIG_TCC_CRT_PREFIX CONFIG_SYSROOT "/usr/lib" -# define CONFIG_TCC_LDDIR "/lib" +#ifndef CONFIG_TCC_LDDIR + #if defined(TCC_TARGET_X86_64_CENTOS) + #define CONFIG_TCC_LDDIR "/lib64" + #else + #define CONFIG_TCC_LDDIR "/lib" + #endif #endif +#define CONFIG_TCC_CRT_PREFIX CONFIG_SYSROOT "/usr" CONFIG_TCC_LDDIR #define INCLUDE_STACK_SIZE 32 #define IFDEF_STACK_SIZE 64 -- cgit v1.3.1