aboutsummaryrefslogtreecommitdiff
path: root/tcc.h
diff options
context:
space:
mode:
authorgrischka <grischka>2014-01-06 19:56:26 +0100
committergrischka <grischka>2014-01-06 19:56:26 +0100
commit2bd0daabbe1fc40e65e4a4631e68f5ca093ea1fb (patch)
treee556d3d04da0db0d13a58905875537c09302c163 /tcc.h
parentd443644de360f68a84c05ab23f20f013b6e05b58 (diff)
downloadtinycc-2bd0daabbe1fc40e65e4a4631e68f5ca093ea1fb.tar.gz
tinycc-2bd0daabbe1fc40e65e4a4631e68f5ca093ea1fb.tar.bz2
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 9382d6f1a0e2d0104a82ed805207d9e742c6b068) - tcc.h: remove ";{B}" from PE search path in ce5e12c2f950052d8109b6b7a56d900547705c08 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
Diffstat (limited to 'tcc.h')
-rw-r--r--tcc.h30
1 files changed, 15 insertions, 15 deletions
diff --git a/tcc.h b/tcc.h
index 21957e7..0933b01 100644
--- a/tcc.h
+++ b/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 */