misc. fixes
- tccgen: error out for cast to void, as in
void foo(void) { return 1; }
This avoids an assertion failure in x86_64-gen.c, also.
also fix tests2/03_struct.c accordingly
- Error: "memory full" - be more specific
- Makefiles: remove circular dependencies, lookup tcctest.c from VPATH
- tcc.h: cleanup lib, include, crt and libgcc search paths"
avoid duplication or trailing slashes with no CONFIG_MULTIARCHDIR
(as from 9382d6f1a0)
- tcc.h: remove ";{B}" from PE search path
in ce5e12c2f9 James Lyon wrote:
"... I'm not sure this is the right way to fix this problem."
And the answer is: No, please. (copying libtcc1.a for tests instead)
- win32/build_tcc.bat: do not move away a versioned file
This commit is contained in:
30
tcc.h
30
tcc.h
@ -169,13 +169,18 @@
|
||||
#ifndef CONFIG_LDDIR
|
||||
# define CONFIG_LDDIR "lib"
|
||||
#endif
|
||||
#ifndef CONFIG_MULTIARCHDIR
|
||||
#define CONFIG_MULTIARCHDIR
|
||||
|
||||
#ifdef CONFIG_MULTIARCHDIR
|
||||
# define USE_MUADIR(s) s "/" CONFIG_MULTIARCHDIR
|
||||
# define ALSO_MUADIR(s) s "/" CONFIG_MULTIARCHDIR ":" s
|
||||
#else
|
||||
# define USE_MUADIR(s) s
|
||||
# define ALSO_MUADIR(s) s
|
||||
#endif
|
||||
|
||||
/* path to find crt1.o, crti.o and crtn.o */
|
||||
#ifndef CONFIG_TCC_CRTPREFIX
|
||||
# define CONFIG_TCC_CRTPREFIX CONFIG_SYSROOT "/usr/" CONFIG_LDDIR "/" CONFIG_MULTIARCHDIR
|
||||
# define CONFIG_TCC_CRTPREFIX USE_MUADIR(CONFIG_SYSROOT "/usr/" CONFIG_LDDIR)
|
||||
#endif
|
||||
|
||||
/* Below: {B} is substituted by CONFIG_TCCDIR (rsp. -B option) */
|
||||
@ -186,10 +191,8 @@
|
||||
# define CONFIG_TCC_SYSINCLUDEPATHS "{B}/include;{B}/include/winapi"
|
||||
# else
|
||||
# define CONFIG_TCC_SYSINCLUDEPATHS \
|
||||
CONFIG_SYSROOT "/usr/local/include/" CONFIG_MULTIARCHDIR \
|
||||
":" CONFIG_SYSROOT "/usr/local/include" \
|
||||
":" CONFIG_SYSROOT "/usr/include/" CONFIG_MULTIARCHDIR \
|
||||
":" CONFIG_SYSROOT "/usr/include" \
|
||||
ALSO_MUADIR(CONFIG_SYSROOT "/usr/local/include") \
|
||||
":" ALSO_MUADIR(CONFIG_SYSROOT "/usr/include") \
|
||||
":" "{B}/include"
|
||||
# endif
|
||||
#endif
|
||||
@ -197,15 +200,12 @@
|
||||
/* library search paths */
|
||||
#ifndef CONFIG_TCC_LIBPATHS
|
||||
# ifdef TCC_TARGET_PE
|
||||
# define CONFIG_TCC_LIBPATHS "{B}/lib;{B}"
|
||||
# define CONFIG_TCC_LIBPATHS "{B}/lib"
|
||||
# else
|
||||
# define CONFIG_TCC_LIBPATHS \
|
||||
CONFIG_SYSROOT "/usr/" CONFIG_LDDIR "/" CONFIG_MULTIARCHDIR \
|
||||
":" CONFIG_SYSROOT "/usr/" CONFIG_LDDIR \
|
||||
":" CONFIG_SYSROOT "/" CONFIG_LDDIR "/" CONFIG_MULTIARCHDIR \
|
||||
":" CONFIG_SYSROOT "/" CONFIG_LDDIR \
|
||||
":" CONFIG_SYSROOT "/usr/local/" CONFIG_LDDIR "/" CONFIG_MULTIARCHDIR \
|
||||
":" CONFIG_SYSROOT "/usr/local/" CONFIG_LDDIR
|
||||
ALSO_MUADIR(CONFIG_SYSROOT "/usr/" CONFIG_LDDIR) \
|
||||
":" ALSO_MUADIR(CONFIG_SYSROOT "/" CONFIG_LDDIR) \
|
||||
":" ALSO_MUADIR(CONFIG_SYSROOT "/usr/local/" CONFIG_LDDIR)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@ -237,7 +237,7 @@
|
||||
#endif
|
||||
|
||||
/* library to use with CONFIG_USE_LIBGCC instead of libtcc1.a */
|
||||
#define TCC_LIBGCC CONFIG_SYSROOT "/" CONFIG_LDDIR "/" CONFIG_MULTIARCHDIR "/libgcc_s.so.1"
|
||||
#define TCC_LIBGCC USE_MUADIR(CONFIG_SYSROOT "/" CONFIG_LDDIR) "/libgcc_s.so.1"
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/* include the target specific definitions */
|
||||
|
||||
Reference in New Issue
Block a user