aboutsummaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorseyko <seyko2@gmail.com>2015-04-10 07:37:31 +0300
committerseyko <seyko2@gmail.com>2015-04-10 07:37:31 +0300
commit7e7e6148fdb4adbda936f80b5d4ac3d738908d95 (patch)
tree37bb17e54d38fdb905b79ba8dfa996500f066abe /configure
parent5cd4393a542ef4c64df7dcbb3fbe3a629666239d (diff)
downloadtinycc-7e7e6148fdb4adbda936f80b5d4ac3d738908d95.tar.gz
tinycc-7e7e6148fdb4adbda936f80b5d4ac3d738908d95.tar.bz2
fix installation amd bcheck for Windows
* define targetos=Windows when --enable-tcc32-mingw, --enable-cygwin, ... * use TARGETOS insteed HOST_OS when selecting PROGS * use "$(tccdir)" insteed $(tccdir) on install (spaces in path) * install tcc.exe too * produce bcheck.o when cross-compiling too (lib/Makefile) * force bcheck.o linking by compiling inside tcc_set_output_type() a dummy program with local array. Otherwise bcheck.o may be not linked. * replace %xz format specifier with %p in bcheck (don't supported on Windows) * call a __bound_init when __bound_ptr_add, __bound_ptr_indir, __bound_new_region, __bound_delete_region called. This is because a __bound_init inside ".init" section is not called on Windows for unknown reason. * print on stderr a message when an illegal pointer is returned: there is no segmentation violation on Windows for a program compiled with "tcc -b" * remove "C:" subdir on clean if $HOST_OS = "Linux" * default CFLAGS="-Wall -g -O0" insteed CFLAGS="-Wall -g -O2" to speed up compilation and more precise debugging.
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure15
1 files changed, 10 insertions, 5 deletions
diff --git a/configure b/configure
index 69089fe..5b9b9c1 100755
--- a/configure
+++ b/configure
@@ -47,7 +47,12 @@ tcc_elfinterp=""
tcc_lddir=
confvars=
cpu=
+
host_os=`uname`
+case $host_os in
+ MINGW32*) host_os=Windows; ;;
+ *) ;;
+esac
# OS specific
targetos=`uname`
@@ -170,13 +175,13 @@ for opt do
;;
--enable-gprof) gprof="yes"
;;
- --enable-mingw32) mingw32="yes" ; cross_prefix="i686-pc-mingw32-" ; cpu=x86
+ --enable-mingw32) mingw32="yes" ; cross_prefix="i686-pc-mingw32-" ; cpu=x86; targetos=Windows;
;;
- --enable-cygwin) mingw32="yes" ; cygwin="yes" ; cross_prefix="mingw32-" ; cpu=x86
+ --enable-cygwin) mingw32="yes" ; cygwin="yes" ; cross_prefix="mingw32-" ; cpu=x86; targetos=Windows;
;;
- --enable-tcc32-mingw) mingw32="yes" ; cross_prefix="i386-win-" ; cpu=x86; cc=tcc
+ --enable-tcc32-mingw) mingw32="yes" ; cross_prefix="i386-win-" ; cpu=x86; cc=tcc; targetos=Windows;
;;
- --enable-tcc64-mingw) mingw32="yes" ; cross_prefix="x86_64-win-" ; cpu=x86_64; cc=tcc
+ --enable-tcc64-mingw) mingw32="yes" ; cross_prefix="x86_64-win-" ; cpu=x86_64; cc=tcc; targetos=Windows;
;;
--enable-cross) build_cross="yes"
;;
@@ -210,7 +215,7 @@ classify_cpu "$cpu"
# Checking for CFLAGS
if test -z "$CFLAGS"; then
- CFLAGS="-Wall -g -O2"
+ CFLAGS="-Wall -g -O0"
fi
if test "$mingw32" = "yes" ; then