win32 configure
This commit is contained in:
parent
c50af8399d
commit
13affef3f1
6 changed files with 92 additions and 51 deletions
|
@ -6,6 +6,7 @@ version 0.9.21:
|
||||||
- fixed assignment of const struct in struct
|
- fixed assignment of const struct in struct
|
||||||
- line comment fix (reported by Bertram Felgenhauer)
|
- line comment fix (reported by Bertram Felgenhauer)
|
||||||
- initial TMS320C67xx target support (TK)
|
- initial TMS320C67xx target support (TK)
|
||||||
|
- win32 configure
|
||||||
|
|
||||||
version 0.9.20:
|
version 0.9.20:
|
||||||
|
|
||||||
|
|
76
Makefile
76
Makefile
|
@ -4,7 +4,10 @@
|
||||||
include config.mak
|
include config.mak
|
||||||
|
|
||||||
CFLAGS=-O2 -g -Wall
|
CFLAGS=-O2 -g -Wall
|
||||||
|
ifndef CONFIG_WIN32
|
||||||
LIBS=-ldl
|
LIBS=-ldl
|
||||||
|
BCHECK_O=bcheck.o
|
||||||
|
endif
|
||||||
CFLAGS_P=$(CFLAGS) -pg -static -DCONFIG_TCC_STATIC
|
CFLAGS_P=$(CFLAGS) -pg -static -DCONFIG_TCC_STATIC
|
||||||
LIBS_P=
|
LIBS_P=
|
||||||
|
|
||||||
|
@ -17,11 +20,13 @@ endif
|
||||||
|
|
||||||
DISAS=objdump -d
|
DISAS=objdump -d
|
||||||
INSTALL=install
|
INSTALL=install
|
||||||
|
PROGS=tcc$(EXESUF) c67-tcc$(EXESUF) arm-tcc$(EXESUF)
|
||||||
# run local version of tcc with local libraries and includes
|
# run local version of tcc with local libraries and includes
|
||||||
TCC=./tcc -B. -I.
|
TCC=./tcc -B. -I.
|
||||||
|
|
||||||
all: tcc libtcc1.a bcheck.o tcc-doc.html tcc.1 libtcc.a libtcc_test
|
all: $(PROGS) \
|
||||||
|
libtcc1$(LIBSUF) $(BCHECK_O) tcc-doc.html tcc.1 libtcc$(LIBSUF) \
|
||||||
|
libtcc_test$(EXESUF)
|
||||||
|
|
||||||
Makefile: config.mak
|
Makefile: config.mak
|
||||||
|
|
||||||
|
@ -108,23 +113,23 @@ ex3: ex3.c
|
||||||
|
|
||||||
# Native Tiny C Compiler
|
# Native Tiny C Compiler
|
||||||
|
|
||||||
tcc_g: tcc.c i386-gen.c tccelf.c tccasm.c i386-asm.c tcctok.h libtcc.h i386-asm.h Makefile
|
tcc_g$(EXESUF): tcc.c i386-gen.c tccelf.c tccasm.c i386-asm.c tcctok.h libtcc.h i386-asm.h Makefile
|
||||||
$(CC) $(CFLAGS) -o $@ $< $(LIBS)
|
$(CC) $(CFLAGS) -o $@ $< $(LIBS)
|
||||||
|
|
||||||
tcc: tcc_g Makefile
|
tcc$(EXESUF): tcc_g$(EXESUF) Makefile
|
||||||
strip -s -R .comment -R .note -o $@ $<
|
$(STRIP) -o $@ $<
|
||||||
|
|
||||||
c67-tcc: tcc.c c67-gen.c tccelf.c tccasm.c tcctok.h libtcc.h tcccoff.c Makefile
|
c67-tcc$(EXESUF): tcc.c c67-gen.c tccelf.c tccasm.c tcctok.h libtcc.h tcccoff.c Makefile
|
||||||
$(CC) $(CFLAGS) -DTCC_TARGET_C67 -o $@ $< $(LIBS)
|
$(CC) $(CFLAGS) -DTCC_TARGET_C67 -o $@ $< $(LIBS)
|
||||||
|
|
||||||
arm-tcc: tcc.c arm-gen.c tccelf.c tccasm.c tcctok.h libtcc.h Makefile
|
arm-tcc$(EXESUF): tcc.c arm-gen.c tccelf.c tccasm.c tcctok.h libtcc.h Makefile
|
||||||
$(CC) $(CFLAGS) -DTCC_TARGET_ARM -o $@ $< $(LIBS)
|
$(CC) $(CFLAGS) -DTCC_TARGET_ARM -o $@ $< $(LIBS)
|
||||||
|
|
||||||
# TinyCC runtime libraries
|
# TinyCC runtime libraries
|
||||||
libtcc1.o: libtcc1.c
|
libtcc1.o: libtcc1.c
|
||||||
$(CC) -O2 -Wall -c -o $@ $<
|
$(CC) -O2 -Wall -c -o $@ $<
|
||||||
|
|
||||||
libtcc1.a: libtcc1.o
|
libtcc1$(LIBSUF): libtcc1.o
|
||||||
$(AR) rcs $@ $^
|
$(AR) rcs $@ $^
|
||||||
|
|
||||||
bcheck.o: bcheck.c
|
bcheck.o: bcheck.c
|
||||||
|
@ -132,52 +137,49 @@ bcheck.o: bcheck.c
|
||||||
|
|
||||||
install: tcc_install libinstall
|
install: tcc_install libinstall
|
||||||
|
|
||||||
tcc_install: tcc tcc.1 libtcc1.a bcheck.o
|
tcc_install: $(PROGS) tcc.1 libtcc1$(LIBSUF) $(BCHECK_O) tcc-doc.html tcc.1
|
||||||
mkdir -p $(bindir)
|
mkdir -p "$(bindir)"
|
||||||
$(INSTALL) -m755 tcc $(bindir)
|
$(INSTALL) -s -m755 $(PROGS) "$(bindir)"
|
||||||
mkdir -p $(mandir)/man1
|
ifndef CONFIG_WIN32
|
||||||
$(INSTALL) tcc.1 $(mandir)/man1
|
mkdir -p "$(mandir)/man1"
|
||||||
mkdir -p $(libdir)/tcc
|
$(INSTALL) tcc.1 "$(mandir)/man1"
|
||||||
mkdir -p $(libdir)/tcc/include
|
endif
|
||||||
$(INSTALL) -m644 libtcc1.a bcheck.o $(libdir)/tcc
|
mkdir -p "$(libdir)/tcc"
|
||||||
|
mkdir -p "$(libdir)/tcc/include"
|
||||||
|
$(INSTALL) -m644 libtcc1$(LIBSUF) $(BCHECK_O) "$(libdir)/tcc"
|
||||||
$(INSTALL) -m644 stdarg.h stddef.h stdbool.h float.h varargs.h \
|
$(INSTALL) -m644 stdarg.h stddef.h stdbool.h float.h varargs.h \
|
||||||
tcclib.h $(libdir)/tcc/include
|
tcclib.h "$(libdir)/tcc/include"
|
||||||
|
mkdir -p "$(docdir)"
|
||||||
|
$(INSTALL) -m644 tcc-doc.html "$(docdir)"
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *~ *.o tcc tcc1 tcct tcc_g tcctest.ref *.bin *.i ex2 \
|
rm -f *~ *.o tcc tcc1 tcct tcc_g tcctest.ref *.bin *.i ex2 \
|
||||||
core gmon.out test.out test.ref a.out tcc_p \
|
core gmon.out test.out test.ref a.out tcc_p \
|
||||||
*.exe tcc-doc.html tcc.pod tcc.1 libtcc.a libtcc_test \
|
*.exe tcc-doc.html tcc.pod tcc.1 libtcc$(LIBSUF) libtcc_test \
|
||||||
tcctest[1234] test[1234].out
|
tcctest[1234] test[1234].out c67-tcc arm-tcc
|
||||||
|
|
||||||
distclean: clean
|
distclean: clean
|
||||||
rm -f config.h config.mak config.texi
|
rm -f config.h config.mak config.texi
|
||||||
|
|
||||||
# win32 TCC
|
|
||||||
tcc_g.exe: tcc.c i386-gen.c bcheck.c Makefile
|
|
||||||
i386-mingw32msvc-gcc $(CFLAGS) -DCONFIG_TCC_STATIC -o $@ $<
|
|
||||||
|
|
||||||
tcc.exe: tcc_g.exe
|
|
||||||
i386-mingw32msvc-strip -o $@ $<
|
|
||||||
|
|
||||||
# profiling version
|
# profiling version
|
||||||
tcc_p: tcc.c Makefile
|
tcc_p: tcc.c Makefile
|
||||||
$(CC) $(CFLAGS_P) -o $@ $< $(LIBS_P)
|
$(CC) $(CFLAGS_P) -o $@ $< $(LIBS_P)
|
||||||
|
|
||||||
# libtcc generation and example
|
# libtcc generation and example
|
||||||
libinstall: libtcc.a
|
libinstall: libtcc$(LIBSUF)
|
||||||
mkdir -p $(libdir)
|
mkdir -p "$(libdir)"
|
||||||
$(INSTALL) -m644 libtcc.a $(libdir)
|
$(INSTALL) -m644 libtcc$(LIBSUF) "$(libdir)"
|
||||||
mkdir -p $(includedir)
|
mkdir -p "$(includedir)"
|
||||||
$(INSTALL) -m644 libtcc.h $(includedir)
|
$(INSTALL) -m644 libtcc.h "$(includedir)"
|
||||||
|
|
||||||
libtcc.o: tcc.c i386-gen.c bcheck.c Makefile
|
libtcc.o: tcc.c i386-gen.c Makefile
|
||||||
$(CC) $(CFLAGS) -DLIBTCC -c -o $@ $<
|
$(CC) $(CFLAGS) -DLIBTCC -c -o $@ $<
|
||||||
|
|
||||||
libtcc.a: libtcc.o
|
libtcc$(LIBSUF): libtcc.o
|
||||||
$(AR) rcs $@ $^
|
$(AR) rcs $@ $^
|
||||||
|
|
||||||
libtcc_test: libtcc_test.c libtcc.a
|
libtcc_test$(EXESUF): libtcc_test.c libtcc$(LIBSUF)
|
||||||
$(CC) $(CFLAGS) -I. -o $@ $< -L. -ltcc -ldl
|
$(CC) $(CFLAGS) -o $@ $< libtcc$(LIBSUF) $(LIBS)
|
||||||
|
|
||||||
libtest: libtcc_test
|
libtest: libtcc_test
|
||||||
./libtcc_test
|
./libtcc_test
|
||||||
|
@ -226,7 +228,9 @@ FILES= Makefile Makefile.uClibc configure VERSION \
|
||||||
README TODO COPYING \
|
README TODO COPYING \
|
||||||
Changelog tcc-doc.texi tcc-doc.html \
|
Changelog tcc-doc.texi tcc-doc.html \
|
||||||
tcc.1 \
|
tcc.1 \
|
||||||
tcc.c i386-gen.c tccelf.c tcctok.h tccasm.c i386-asm.c i386-asm.h\
|
tcc.c tccelf.c tcctok.h tccasm.c i386-asm.c i386-asm.h \
|
||||||
|
tcccoff.c coff.h \
|
||||||
|
i386-gen.c c67-gen.c arm-gen.c \
|
||||||
bcheck.c libtcc1.c \
|
bcheck.c libtcc1.c \
|
||||||
elf.h stab.h stab.def \
|
elf.h stab.h stab.def \
|
||||||
stddef.h stdarg.h stdbool.h float.h varargs.h \
|
stddef.h stdarg.h stdbool.h float.h varargs.h \
|
||||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
||||||
0.9.20
|
0.9.21
|
59
configure
vendored
59
configure
vendored
|
@ -18,7 +18,7 @@ TMPS="${TMPDIR1}/tcc-conf-${RANDOM}-$$-${RANDOM}.S"
|
||||||
TMPH="${TMPDIR1}/tcc-conf-${RANDOM}-$$-${RANDOM}.h"
|
TMPH="${TMPDIR1}/tcc-conf-${RANDOM}-$$-${RANDOM}.h"
|
||||||
|
|
||||||
# default parameters
|
# default parameters
|
||||||
prefix="/usr/local"
|
prefix=""
|
||||||
execprefix=""
|
execprefix=""
|
||||||
bindir=""
|
bindir=""
|
||||||
libdir=""
|
libdir=""
|
||||||
|
@ -56,10 +56,16 @@ case "$cpu" in
|
||||||
esac
|
esac
|
||||||
gprof="no"
|
gprof="no"
|
||||||
bigendian="no"
|
bigendian="no"
|
||||||
|
mingw32="no"
|
||||||
|
LIBSUF=".a"
|
||||||
|
EXESUF=""
|
||||||
|
|
||||||
# OS specific
|
# OS specific
|
||||||
targetos=`uname -s`
|
targetos=`uname -s`
|
||||||
case $targetos in
|
case $targetos in
|
||||||
|
MINGW32*)
|
||||||
|
mingw32="yes"
|
||||||
|
;;
|
||||||
*) ;;
|
*) ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
@ -106,6 +112,8 @@ for opt do
|
||||||
;;
|
;;
|
||||||
--enable-gprof) gprof="yes"
|
--enable-gprof) gprof="yes"
|
||||||
;;
|
;;
|
||||||
|
--enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-"
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -118,6 +126,11 @@ cc="${cross_prefix}${cc}"
|
||||||
ar="${cross_prefix}${ar}"
|
ar="${cross_prefix}${ar}"
|
||||||
strip="${cross_prefix}${strip}"
|
strip="${cross_prefix}${strip}"
|
||||||
|
|
||||||
|
if test "$mingw32" = "yes" ; then
|
||||||
|
LIBSUF=".lib"
|
||||||
|
EXESUF=".exe"
|
||||||
|
fi
|
||||||
|
|
||||||
if test -z "$cross_prefix" ; then
|
if test -z "$cross_prefix" ; then
|
||||||
|
|
||||||
# ---
|
# ---
|
||||||
|
@ -188,26 +201,43 @@ echo ""
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test x"$execprefix" = x""; then
|
if test "$mingw32" = "yes" ; then
|
||||||
execprefix="${prefix}"
|
if test -z "$prefix" ; then
|
||||||
fi
|
prefix="/c/Program Files/tcc"
|
||||||
if test x"$bindir" = x""; then
|
fi
|
||||||
bindir="${execprefix}/bin"
|
execprefix="$prefix"
|
||||||
fi
|
bindir="$prefix"
|
||||||
|
docdir="$prefix/doc"
|
||||||
|
else
|
||||||
|
if test -z "$prefix" ; then
|
||||||
|
prefix="/usr/local"
|
||||||
|
fi
|
||||||
|
if test x"$execprefix" = x""; then
|
||||||
|
execprefix="${prefix}"
|
||||||
|
fi
|
||||||
|
if test x"$bindir" = x""; then
|
||||||
|
bindir="${execprefix}/bin"
|
||||||
|
fi
|
||||||
|
if test x"$docdir" = x""; then
|
||||||
|
docdir="$prefix/share/doc/qemu"
|
||||||
|
fi
|
||||||
|
fi # mingw32
|
||||||
|
|
||||||
if test x"$libdir" = x""; then
|
if test x"$libdir" = x""; then
|
||||||
libdir="${execprefix}/lib"
|
libdir="${execprefix}/lib"
|
||||||
fi
|
fi
|
||||||
if test x"$includedir" = x""; then
|
|
||||||
includedir="${prefix}/include"
|
|
||||||
fi
|
|
||||||
if test x"$mandir" = x""; then
|
if test x"$mandir" = x""; then
|
||||||
mandir="${prefix}/man"
|
mandir="${prefix}/man"
|
||||||
fi
|
fi
|
||||||
|
if test x"$includedir" = x""; then
|
||||||
|
includedir="${prefix}/include"
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Binary directory $bindir"
|
echo "Binary directory $bindir"
|
||||||
echo "Library directory $libdir"
|
echo "Library directory $libdir"
|
||||||
echo "Include directory $includedir"
|
echo "Include directory $includedir"
|
||||||
echo "Manual directory $mandir"
|
echo "Manual directory $mandir"
|
||||||
|
echo "Doc directory $docdir"
|
||||||
echo "Source path $source_path"
|
echo "Source path $source_path"
|
||||||
echo "C compiler $cc"
|
echo "C compiler $cc"
|
||||||
echo "make $make"
|
echo "make $make"
|
||||||
|
@ -225,6 +255,7 @@ echo "bindir=$bindir" >> config.mak
|
||||||
echo "libdir=$libdir" >> config.mak
|
echo "libdir=$libdir" >> config.mak
|
||||||
echo "includedir=$includedir" >> config.mak
|
echo "includedir=$includedir" >> config.mak
|
||||||
echo "mandir=$mandir" >> config.mak
|
echo "mandir=$mandir" >> config.mak
|
||||||
|
echo "docdir=$docdir" >> config.mak
|
||||||
echo "#define CONFIG_TCC_LIBDIR \"$libdir\"" >> $TMPH
|
echo "#define CONFIG_TCC_LIBDIR \"$libdir\"" >> $TMPH
|
||||||
echo "MAKE=$make" >> config.mak
|
echo "MAKE=$make" >> config.mak
|
||||||
echo "CC=$cc" >> config.mak
|
echo "CC=$cc" >> config.mak
|
||||||
|
@ -235,6 +266,8 @@ echo "AR=$ar" >> config.mak
|
||||||
echo "STRIP=$strip -s -R .comment -R .note" >> config.mak
|
echo "STRIP=$strip -s -R .comment -R .note" >> config.mak
|
||||||
echo "CFLAGS=$CFLAGS" >> config.mak
|
echo "CFLAGS=$CFLAGS" >> config.mak
|
||||||
echo "LDFLAGS=$LDFLAGS" >> config.mak
|
echo "LDFLAGS=$LDFLAGS" >> config.mak
|
||||||
|
echo "LIBSUF=$LIBSUF" >> config.mak
|
||||||
|
echo "EXESUF=$EXESUF" >> config.mak
|
||||||
if test "$cpu" = "x86" ; then
|
if test "$cpu" = "x86" ; then
|
||||||
echo "ARCH=i386" >> config.mak
|
echo "ARCH=i386" >> config.mak
|
||||||
echo "#define HOST_I386 1" >> $TMPH
|
echo "#define HOST_I386 1" >> $TMPH
|
||||||
|
@ -257,6 +290,10 @@ else
|
||||||
echo "Unsupported CPU"
|
echo "Unsupported CPU"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
if test "$mingw32" = "yes" ; then
|
||||||
|
echo "CONFIG_WIN32=yes" >> config.mak
|
||||||
|
echo "#define CONFIG_WIN32 1" >> $TMPH
|
||||||
|
fi
|
||||||
if test "$bigendian" = "yes" ; then
|
if test "$bigendian" = "yes" ; then
|
||||||
echo "WORDS_BIGENDIAN=yes" >> config.mak
|
echo "WORDS_BIGENDIAN=yes" >> config.mak
|
||||||
echo "#define WORDS_BIGENDIAN 1" >> $TMPH
|
echo "#define WORDS_BIGENDIAN 1" >> $TMPH
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#include <libtcc.h>
|
#include "libtcc.h"
|
||||||
|
|
||||||
/* this function is called by the generated code */
|
/* this function is called by the generated code */
|
||||||
int add(int a, int b)
|
int add(int a, int b)
|
||||||
|
|
3
tcc.c
3
tcc.c
|
@ -34,6 +34,7 @@
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
#include <sys/timeb.h>
|
#include <sys/timeb.h>
|
||||||
|
#define CONFIG_TCC_STATIC
|
||||||
#endif
|
#endif
|
||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
@ -85,13 +86,11 @@
|
||||||
#define TCC_TARGET_COFF
|
#define TCC_TARGET_COFF
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(WIN32)
|
|
||||||
#define FALSE 0
|
#define FALSE 0
|
||||||
#define false 0
|
#define false 0
|
||||||
#define TRUE 1
|
#define TRUE 1
|
||||||
#define true 1
|
#define true 1
|
||||||
typedef int BOOL;
|
typedef int BOOL;
|
||||||
#endif
|
|
||||||
|
|
||||||
/* path to find crt1.o, crti.o and crtn.o. Only needed when generating
|
/* path to find crt1.o, crti.o and crtn.o. Only needed when generating
|
||||||
executables or dlls */
|
executables or dlls */
|
||||||
|
|
Loading…
Reference in a new issue