mirror of
git://repo.or.cz/tinycc.git
synced 2026-06-30 16:48:40 +08:00
Revert "build c2str.exe with the host compiler; default it to gcc if cross prefix given"
This reverts commit 41fa74fc84.
Reasons for the revert:
1. The commit message is lacking and the use case is not obvious.
At the very least a concrete example of use case should be given
(likely cross-building tcc on platform X for running on platform Y),
followed by an issue description in such use case, and fix descr.
(e.g. "On platform X, when running ./configure ... && make ..., the
build fails because whatever. this commit does Y and fixes it").
2. assign_opt is used incorrectly: 1st arg must be --OPTNAME=VALUE
but it's not. The only thing it does is unconditional host_cc=gcc
if --cross-prefix=... is used - no need for "assign_opt" at all.
3. cross-building tcc currently has several triggers: build/target
cpu differ, or build/target OS differ, or --cross-prefix=... is
used, but that commit only covers the --cross-prefix=... case.
It's possible that it's intentional to only cover one case, but
if so then it's not explained why.
4. The var name host_cc is likely incorrect and probably meant to be
"native_cc", judging by the assigned value "gcc".
5. "gcc" is used unconditionally in such case, without any way to use
a different native compiler (assuming that's indeed the goal).
A better approach is likely supporting --native-cc=... option which
defaults to $cc (which already defaults to "gcc") _before_
$cross_prefix is added in-front.
This commit is contained in:
parent
41fa74fc84
commit
4fccaf6124
2
Makefile
2
Makefile
@ -256,7 +256,7 @@ endif
|
|||||||
$S./c2str.exe $< $@
|
$S./c2str.exe $< $@
|
||||||
|
|
||||||
c2str.exe : conftest.c
|
c2str.exe : conftest.c
|
||||||
$S$(HOST_CC) -DC2STR $< -o $@
|
$S$(CC) -DC2STR $< -o $@
|
||||||
|
|
||||||
# target specific object rule
|
# target specific object rule
|
||||||
$(X)%.o : %.c $(LIBTCC_INC)
|
$(X)%.o : %.c $(LIBTCC_INC)
|
||||||
|
|||||||
5
configure
vendored
5
configure
vendored
@ -58,8 +58,6 @@ build_cross=
|
|||||||
test -n "$CC" && cc="$CC"
|
test -n "$CC" && cc="$CC"
|
||||||
test -n "$AR" && ar="$AR"
|
test -n "$AR" && ar="$AR"
|
||||||
|
|
||||||
host_cc="$CC"
|
|
||||||
|
|
||||||
# set default CFLAGS if unset in environment
|
# set default CFLAGS if unset in environment
|
||||||
test -z "$CFLAGS" && CFLAGS="-Wall -O2"
|
test -z "$CFLAGS" && CFLAGS="-Wall -O2"
|
||||||
|
|
||||||
@ -124,7 +122,7 @@ for opt do
|
|||||||
;;
|
;;
|
||||||
--source-path=*) assign_opt "$opt" source_path
|
--source-path=*) assign_opt "$opt" source_path
|
||||||
;;
|
;;
|
||||||
--cross-prefix=*) assign_opt "$opt" cross_prefix; assign_opt "gcc" host_cc
|
--cross-prefix=*) assign_opt "$opt" cross_prefix
|
||||||
;;
|
;;
|
||||||
--os-release=*) assign_opt "$opt" os_release
|
--os-release=*) assign_opt "$opt" os_release
|
||||||
;;
|
;;
|
||||||
@ -586,7 +584,6 @@ mandir=\$(DESTDIR)$mandir
|
|||||||
infodir=\$(DESTDIR)$infodir
|
infodir=\$(DESTDIR)$infodir
|
||||||
docdir=\$(DESTDIR)$docdir
|
docdir=\$(DESTDIR)$docdir
|
||||||
CC=$cc
|
CC=$cc
|
||||||
HOST_CC=$host_cc
|
|
||||||
CC_NAME=$cc_name
|
CC_NAME=$cc_name
|
||||||
GCC_MAJOR=$gcc_major
|
GCC_MAJOR=$gcc_major
|
||||||
GCC_MINOR=$gcc_minor
|
GCC_MINOR=$gcc_minor
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user