aboutsummaryrefslogtreecommitdiff
path: root/tcc.h
diff options
context:
space:
mode:
authorgrischka <grischka>2011-08-11 16:55:30 +0200
committergrischka <grischka>2011-08-11 16:55:30 +0200
commit74a24d77fd9c08ad9a6b3b6c0f434c7314dae639 (patch)
tree4cae2ee70148c10aeedf322a24ac06a626a6249d /tcc.h
parentfd0cea8895c3d253644fee51f50da9ff94fe83a3 (diff)
downloadtinycc-74a24d77fd9c08ad9a6b3b6c0f434c7314dae639.tar.gz
tinycc-74a24d77fd9c08ad9a6b3b6c0f434c7314dae639.tar.bz2
libtcc: minor adjustments
- use {B} to substitute tcc_lih_path (instead of \b) - expand CONFIG_TCC_CRTPREFIX in CONFIG_TCC_LIBPATHS which fixes duplicate CONFIG_SYSROOT. - put default CONFIG_SYSROOT ("") into tcc.h - remove hack from commit db6fcce78f4d8ea25036dd6643e9fa83d8e52e5a because $(tccdir)/include is already in sysincludes - configure: error out for unrecognized options. - win32/build-tcc.bat: put libtcc into base dir where it will find lib/include automatically, and build libtcc_test example.
Diffstat (limited to 'tcc.h')
-rw-r--r--tcc.h37
1 files changed, 26 insertions, 11 deletions
diff --git a/tcc.h b/tcc.h
index 6fc3434..47f7434 100644
--- a/tcc.h
+++ b/tcc.h
@@ -50,7 +50,10 @@
#define inline __inline
#define inp next_inp
#ifdef _WIN64
-#define uplong unsigned long long
+# define uplong unsigned long long
+#endif
+#ifdef LIBTCC_AS_DLL
+# define LIBTCCAPI __declspec(dllexport)
#endif
#endif
@@ -134,6 +137,10 @@
/* ------------ path configuration ------------ */
+#ifndef CONFIG_SYSROOT
+# define CONFIG_SYSROOT ""
+#endif
+
#ifndef CONFIG_TCC_LDDIR
# if defined(TCC_TARGET_X86_64_CENTOS)
# define CONFIG_TCC_LDDIR "/lib64"
@@ -147,25 +154,27 @@
# define CONFIG_TCC_CRTPREFIX CONFIG_SYSROOT "/usr" CONFIG_TCC_LDDIR
#endif
+/* Below: {B} is substituted by CONFIG_TCCDIR (rsp. -B option) */
+
/* system include paths */
#ifndef CONFIG_TCC_SYSINCLUDEPATHS
# ifdef TCC_TARGET_PE
-# define CONFIG_TCC_SYSINCLUDEPATHS "\b/include;\b/include/winapi"
+# define CONFIG_TCC_SYSINCLUDEPATHS "{B}/include;{B}/include/winapi"
# else
# define CONFIG_TCC_SYSINCLUDEPATHS \
CONFIG_SYSROOT "/usr/local/include" \
":" CONFIG_SYSROOT "/usr/include" \
- ":" "\b/include"
+ ":" "{B}/include"
# endif
#endif
/* library search paths */
#ifndef CONFIG_TCC_LIBPATHS
# ifdef TCC_TARGET_PE
-# define CONFIG_TCC_LIBPATHS "\b/lib"
+# define CONFIG_TCC_LIBPATHS "{B}/lib"
# else
# define CONFIG_TCC_LIBPATHS \
- CONFIG_SYSROOT CONFIG_TCC_CRTPREFIX \
+ CONFIG_SYSROOT "/usr" CONFIG_TCC_LDDIR \
":" CONFIG_SYSROOT CONFIG_TCC_LDDIR \
":" CONFIG_SYSROOT "/usr/local" CONFIG_TCC_LDDIR
# endif
@@ -924,7 +933,9 @@ static inline int toup(int c)
return (c >= 'a' && c <= 'z') ? c - 'a' + 'A' : c;
}
-#define PUB_FUNC
+#ifndef PUB_FUNC
+# define PUB_FUNC
+#endif
#ifdef ONE_SOURCE
#define ST_INLN static inline
@@ -946,7 +957,7 @@ ST_DATA int tcc_ext;
ST_DATA struct TCCState *tcc_state;
#ifdef CONFIG_TCC_BACKTRACE
-ST_DATA int num_callers;
+ST_DATA int rt_num_callers;
ST_DATA const char **rt_bound_error_msg;
ST_DATA void *rt_prog_main;
#endif
@@ -976,7 +987,6 @@ PUB_FUNC void dynarray_add(void ***ptab, int *nb_ptr, void *data);
PUB_FUNC void dynarray_reset(void *pp, int *n);
PUB_FUNC void error_noabort(const char *fmt, ...);
PUB_FUNC void error(const char *fmt, ...);
-PUB_FUNC void expect(const char *msg);
PUB_FUNC void warning(const char *fmt, ...);
/* other utilities */
@@ -1012,14 +1022,18 @@ ST_FUNC int tcc_open(TCCState *s1, const char *filename);
ST_FUNC void tcc_close(void);
ST_FUNC int tcc_add_file_internal(TCCState *s1, const char *filename, int flags);
-ST_FUNC int tcc_add_dll(TCCState *s, const char *filename, int flags);
ST_FUNC int tcc_add_crt(TCCState *s, const char *filename);
+#ifndef TCC_TARGET_PE
+ST_FUNC int tcc_add_dll(TCCState *s, const char *filename, int flags);
+#endif
+
PUB_FUNC int tcc_set_flag(TCCState *s, const char *flag_name, int value);
PUB_FUNC void tcc_print_stats(TCCState *s, int64_t total_time);
-PUB_FUNC void set_num_callers(int n);
-
PUB_FUNC char *tcc_default_target(TCCState *s, const char *default_file);
PUB_FUNC void tcc_gen_makedeps(TCCState *s, const char *target, const char *filename);
+#ifdef CONFIG_TCC_BACKTRACE
+PUB_FUNC void tcc_set_num_callers(int n);
+#endif
/* ------------ tccpp.c ------------ */
@@ -1074,6 +1088,7 @@ ST_FUNC void preprocess_init(TCCState *s1);
ST_FUNC void preprocess_new();
ST_FUNC int tcc_preprocess(TCCState *s1);
ST_FUNC void skip(int c);
+ST_FUNC void expect(const char *msg);
/* ------------ tccgen.c ------------ */