This reverts commit 41fa74fc8485be8e7f6eb92de93997d8e3b0a7f7. 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.
Unified · Split
| @@ -256,7 +256,7 @@ endif · 255 unmodified lines | ||
| 256 | 256 | $S./c2str.exe $< $@ |
| 257 | 257 | |
| 258 | 258 | c2str.exe : conftest.c |
| 259 | − $S$(HOST_CC) -DC2STR $< -o $@ | |
| 259 | + $S$(CC) -DC2STR $< -o $@ | |
| 260 | 260 | |
| 261 | 261 | # target specific object rule |
| 262 | 262 | $(X)%.o : %.c $(LIBTCC_INC) |
| @@ -58,8 +58,6 @@ build_cross= · 57 unmodified lines | ||
| 58 | 58 | test -n "$CC" && cc="$CC" |
| 59 | 59 | test -n "$AR" && ar="$AR" |
| 60 | 60 | |
| 61 | −host_cc="$CC" | |
| 62 | − | |
| 63 | 61 | # set default CFLAGS if unset in environment |
| 64 | 62 | test -z "$CFLAGS" && CFLAGS="-Wall -O2" |
| 65 | 63 | |
| @@ -124,7 +122,7 @@ for opt do · 58 unmodified lines | ||
| 124 | 122 | ;; |
| 125 | 123 | --source-path=*) assign_opt "$opt" source_path |
| 126 | 124 | ;; |
| 127 | − --cross-prefix=*) assign_opt "$opt" cross_prefix; assign_opt "gcc" host_cc | |
| 125 | + --cross-prefix=*) assign_opt "$opt" cross_prefix | |
| 128 | 126 | ;; |
| 129 | 127 | --os-release=*) assign_opt "$opt" os_release |
| 130 | 128 | ;; |
| @@ -586,7 +584,6 @@ mandir=\$(DESTDIR)$mandir · 455 unmodified lines | ||
| 586 | 584 | infodir=\$(DESTDIR)$infodir |
| 587 | 585 | docdir=\$(DESTDIR)$docdir |
| 588 | 586 | CC=$cc |
| 589 | −HOST_CC=$host_cc | |
| 590 | 587 | CC_NAME=$cc_name |
| 591 | 588 | GCC_MAJOR=$gcc_major |
| 592 | 589 | GCC_MINOR=$gcc_minor |