mirror of
https://github.com/mirror/tinycc.git
synced 2025-01-15 05:20:06 +08:00
configure: detect ARM variants
Using gnu make's variable variable-names.
This commit is contained in:
parent
b9f089fc4a
commit
c4397b2b02
52
Makefile
52
Makefile
@ -8,11 +8,6 @@ VPATH = $(top_srcdir)
|
|||||||
|
|
||||||
CPPFLAGS = -I$(TOP) # for config.h
|
CPPFLAGS = -I$(TOP) # for config.h
|
||||||
|
|
||||||
CPPFLAGS_P=$(CPPFLAGS) -DCONFIG_TCC_STATIC
|
|
||||||
CFLAGS_P=$(CFLAGS) -pg -static
|
|
||||||
LIBS_P=
|
|
||||||
LDFLAGS_P=$(LDFLAGS)
|
|
||||||
|
|
||||||
ifeq (-$(findstring $(GCC_MAJOR),01)-,--)
|
ifeq (-$(findstring $(GCC_MAJOR),01)-,--)
|
||||||
CFLAGS+=-fno-strict-aliasing
|
CFLAGS+=-fno-strict-aliasing
|
||||||
ifeq (-$(findstring $(GCC_MAJOR),23)-,--)
|
ifeq (-$(findstring $(GCC_MAJOR),23)-,--)
|
||||||
@ -23,12 +18,17 @@ else
|
|||||||
CFLAGS+=-Wno-unused-result
|
CFLAGS+=-Wno-unused-result
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
else # not GCC
|
||||||
|
ifeq (-$(findstring clang,$(CC))-,-clang-)
|
||||||
# make clang accept gnuisms in libtcc1.c
|
# make clang accept gnuisms in libtcc1.c
|
||||||
ifeq ($(CC),clang)
|
|
||||||
CFLAGS+=-fheinous-gnu-extensions
|
CFLAGS+=-fheinous-gnu-extensions
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
CPPFLAGS_P=$(CPPFLAGS) -DCONFIG_TCC_STATIC
|
||||||
|
CFLAGS_P=$(CFLAGS) -pg -static
|
||||||
|
LIBS_P=
|
||||||
|
LDFLAGS_P=$(LDFLAGS)
|
||||||
|
|
||||||
ifdef CONFIG_WIN64
|
ifdef CONFIG_WIN64
|
||||||
CONFIG_WIN32=yes
|
CONFIG_WIN32=yes
|
||||||
@ -41,31 +41,6 @@ LIBS+=-ldl
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(ARCH),i386)
|
|
||||||
NATIVE_DEFINES+=-DTCC_TARGET_I386
|
|
||||||
else ifeq ($(ARCH),x86-64)
|
|
||||||
NATIVE_DEFINES+=-DTCC_TARGET_X86_64
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(ARCH),arm)
|
|
||||||
NATIVE_DEFINES+=-DTCC_TARGET_ARM
|
|
||||||
NATIVE_DEFINES+=-DWITHOUT_LIBTCC
|
|
||||||
ifneq (,$(wildcard /lib/ld-linux-armhf.so.3 /lib/arm-linux-gnueabihf/ld-linux.so.3))
|
|
||||||
NATIVE_DEFINES+=-DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT
|
|
||||||
else ifneq (,$(wildcard /lib/ld-linux.so.3))
|
|
||||||
NATIVE_DEFINES+=-DTCC_ARM_EABI
|
|
||||||
endif
|
|
||||||
NATIVE_DEFINES+=$(if $(shell grep -l "^Features.* \(vfp\|iwmmxt\) " /proc/cpuinfo),-DTCC_ARM_VFP)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef CONFIG_WIN32
|
|
||||||
NATIVE_DEFINES+=-DTCC_TARGET_PE
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(wildcard /lib/ld-uClibc.so.0),)
|
|
||||||
NATIVE_DEFINES+=-DTCC_UCLIBC
|
|
||||||
endif
|
|
||||||
|
|
||||||
# make libtcc as static or dynamic library?
|
# make libtcc as static or dynamic library?
|
||||||
ifdef DISABLE_STATIC
|
ifdef DISABLE_STATIC
|
||||||
LIBTCC=libtcc.so.1.0
|
LIBTCC=libtcc.so.1.0
|
||||||
@ -78,6 +53,17 @@ LIBTCC=libtcc.a
|
|||||||
LINK_LIBTCC=
|
LINK_LIBTCC=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
CONFIG_$(ARCH) = yes
|
||||||
|
NATIVE_DEFINES_$(CONFIG_i386) += -DTCC_TARGET_I386
|
||||||
|
NATIVE_DEFINES_$(CONFIG_x86-64) += -DTCC_TARGET_X86_64
|
||||||
|
NATIVE_DEFINES_$(CONFIG_WIN32) += -DTCC_TARGET_PE
|
||||||
|
NATIVE_DEFINES_$(CONFIG_uClibc) += -DTCC_UCLIBC
|
||||||
|
NATIVE_DEFINES_$(CONFIG_arm) += -DTCC_TARGET_ARM -DWITHOUT_LIBTCC
|
||||||
|
NATIVE_DEFINES_$(CONFIG_arm_eabihf) += -DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT
|
||||||
|
NATIVE_DEFINES_$(CONFIG_arm_eabi) += -DTCC_ARM_EABI
|
||||||
|
NATIVE_DEFINES_$(CONFIG_arm_vfp) += -DTCC_ARM_VFP
|
||||||
|
NATIVE_DEFINES += $(NATIVE_DEFINES_yes)
|
||||||
|
|
||||||
ifeq ($(TOP),.)
|
ifeq ($(TOP),.)
|
||||||
|
|
||||||
PROGS=tcc$(EXESUF)
|
PROGS=tcc$(EXESUF)
|
||||||
|
18
configure
vendored
18
configure
vendored
@ -44,6 +44,7 @@ tcc_libpaths=""
|
|||||||
tcc_crtprefix=""
|
tcc_crtprefix=""
|
||||||
tcc_elfinterp=""
|
tcc_elfinterp=""
|
||||||
tcc_lddir=
|
tcc_lddir=
|
||||||
|
confvars=
|
||||||
|
|
||||||
cpu=`uname -m`
|
cpu=`uname -m`
|
||||||
|
|
||||||
@ -304,6 +305,17 @@ if test -z "$cross_prefix" ; then
|
|||||||
tcc_lddir="lib64"
|
tcc_lddir="lib64"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test "$cpu" = "armv4l" ; then
|
||||||
|
if test "${triplet%eabihf}" != "$triplet" ; then
|
||||||
|
confvars="$confvars arm_eabihf"
|
||||||
|
elif test "${triplet%eabi}" != "$triplet" ; then
|
||||||
|
confvars="$confvars arm_eabi"
|
||||||
|
fi
|
||||||
|
if grep -s -q "^Features.* \(vfp\|iwmmxt\) " /proc/cpuinfo ; then
|
||||||
|
confvars="$confvars arm_vfp"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# multiarch_triplet=${libc_dir#*/}
|
# multiarch_triplet=${libc_dir#*/}
|
||||||
# multiarch_triplet=${multiarch_triplet%/}
|
# multiarch_triplet=${multiarch_triplet%/}
|
||||||
# tcc_lddir="${libc_dir%%/*}"
|
# tcc_lddir="${libc_dir%%/*}"
|
||||||
@ -311,6 +323,9 @@ if test -z "$cross_prefix" ; then
|
|||||||
# tcc_lddir="$tcc_lddir/$multiarch_triplet"
|
# tcc_lddir="$tcc_lddir/$multiarch_triplet"
|
||||||
# fi
|
# fi
|
||||||
|
|
||||||
|
if test -f "/lib/ld-uClibc.so.0" ; then
|
||||||
|
confvars="$confvars uClibc"
|
||||||
|
fi
|
||||||
# gr: maybe for after the release:
|
# gr: maybe for after the release:
|
||||||
# tcc_elfinterp="$(ldd $CONFTEST | grep 'ld.*.so' | sed 's,\s*\(\S\+\).*,\1,')"
|
# tcc_elfinterp="$(ldd $CONFTEST | grep 'ld.*.so' | sed 's,\s*\(\S\+\).*,\1,')"
|
||||||
# echo "elfinterp $tcc_elfinterp"
|
# echo "elfinterp $tcc_elfinterp"
|
||||||
@ -424,6 +439,9 @@ fi
|
|||||||
|
|
||||||
echo "TARGETOS=$targetos" >> config.mak
|
echo "TARGETOS=$targetos" >> config.mak
|
||||||
|
|
||||||
|
for v in $confvars ; do
|
||||||
|
echo "CONFIG_$v=yes" >> config.mak
|
||||||
|
done
|
||||||
if test "$noldl" = "yes" ; then
|
if test "$noldl" = "yes" ; then
|
||||||
echo "CONFIG_NOLDL=yes" >> config.mak
|
echo "CONFIG_NOLDL=yes" >> config.mak
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user