[Git][ghc/ghc][wip/remove-cc-var] testsuite: Replace $CC with $TEST_CC
Sylvain Henry (@hsyl20)
gitlab at gitlab.haskell.org
Fri Jul 12 07:36:56 UTC 2024
Sylvain Henry pushed to branch wip/remove-cc-var at Glasgow Haskell Compiler / GHC
Commits:
c240f9e3 by Matthew Pickering at 2024-07-12T09:36:47+02:00
testsuite: Replace $CC with $TEST_CC
The TEST_CC variable should be set based on the test compiler, which may
be different to the compiler which is set to CC on your system (for
example when cross compiling).
Fixes #24946
- - - - -
4 changed files:
- testsuite/tests/rts/Makefile
- testsuite/tests/rts/all.T
- testsuite/tests/rts/linker/Makefile
- testsuite/tests/rts/linker/T11223/Makefile
Changes:
=====================================
testsuite/tests/rts/Makefile
=====================================
@@ -23,8 +23,8 @@ T4059:
./T4059
exec_signals-prep:
- $(CC) -o exec_signals_child exec_signals_child.c
- $(CC) -o exec_signals_prepare exec_signals_prepare.c
+ $(TEST_CC) -o exec_signals_child exec_signals_child.c
+ $(TEST_CC) -o exec_signals_prepare exec_signals_prepare.c
.PHONY: T4850
T4850:
=====================================
testsuite/tests/rts/all.T
=====================================
@@ -221,7 +221,12 @@ test('exec_signals',
[when(opsys('mingw32'), skip),
pre_cmd('$MAKE -s --no-print-directory exec_signals-prep'),
cmd_prefix('./exec_signals_prepare'),
- req_process],
+ req_process,
+ req_c], # C compiler is used to build exec_signals_prepare/child programs.
+ # With the JS backend, it fails because these programs are
+ # compiled with Emscipten and they can't be directly executed
+ # (permission denied error); they must be loaded in nodejs (or
+ # compiled with the host CC compiler).
compile_and_run, [''])
test('return_mem_to_os', normal, compile_and_run, [''])
=====================================
testsuite/tests/rts/linker/Makefile
=====================================
@@ -69,7 +69,7 @@ linker_unload_native:
$(RM) Test.o Test.hi Test.a Test.so Test2.so
"$(TEST_HC)" $(TEST_HC_OPTS) -c Test.hs -v0 -dynamic -fPIC -o Test.a
# only libraries without DT_NEEDED are supported
- "$(CC)" -shared -Wl,-Bsymbolic -nostdlib -o Test.so -Wl,-nostdlib \
+ "$(TEST_CC)" -shared -Wl,-Bsymbolic -nostdlib -o Test.so -Wl,-nostdlib \
-Wl,--whole-archive Test.a
cp Test.so Test2.so
=====================================
testsuite/tests/rts/linker/T11223/Makefile
=====================================
@@ -11,44 +11,44 @@ CC=$(TEST_CC)
.PHONY: t_11223_simple_link
t_11223_simple_link:
$(RM) -f foo_simple.o foo.hi foo.o
- "$(CC)" -c foo.c -o foo_simple.o
+ "$(TEST_CC)" -c foo.c -o foo_simple.o
echo main | "$(TEST_HC)" $(filter-out -rtsopts, $(TEST_HC_OPTS_INTERACTIVE)) foo_simple.o foo.hs
.PHONY: t_11223_simple_link_lib
t_11223_simple_link_lib:
$(RM) -f foo_lib.o foo.hi foo.o libfoo_lib.a
- "$(CC)" -c foo.c -o foo_lib.o
+ "$(TEST_CC)" -c foo.c -o foo_lib.o
"$(AR)" rs libfoo_lib.a foo_lib.o 2> /dev/null
echo main | "$(TEST_HC)" $(filter-out -rtsopts, $(TEST_HC_OPTS_INTERACTIVE)) foo.hs -lfoo_lib -L"$(PWD)"
.PHONY: t_11223_simple_duplicate
t_11223_simple_duplicate:
$(RM) -f foo_dup.o bar_dup.o foo.hi foo.o
- "$(CC)" -c foo.c -o foo_dup.o
- "$(CC)" -c bar.c -o bar_dup.o
+ "$(TEST_CC)" -c foo.c -o foo_dup.o
+ "$(TEST_CC)" -c bar.c -o bar_dup.o
echo main | "$(TEST_HC)" $(filter-out -rtsopts, $(TEST_HC_OPTS_INTERACTIVE)) foo_dup.o bar_dup.o foo.hs
.PHONY: t_11223_simple_duplicate_lib
t_11223_simple_duplicate_lib:
$(RM) -f foo_dup_lib.o bar_dup_lib.o foo.hi foo.o libfoo_dup_lib.a
- "$(CC)" -c foo.c -o foo_dup_lib.o
- "$(CC)" -c bar.c -o bar_dup_lib.o
+ "$(TEST_CC)" -c foo.c -o foo_dup_lib.o
+ "$(TEST_CC)" -c bar.c -o bar_dup_lib.o
"$(AR)" rs libfoo_dup_lib.a foo_dup_lib.o 2> /dev/null
echo main | "$(TEST_HC)" $(filter-out -rtsopts, $(TEST_HC_OPTS_INTERACTIVE)) bar_dup_lib.o foo.hs -lfoo_dup_lib -L"$(PWD)"
.PHONY: t_11223_simple_unused_duplicate_lib
t_11223_simple_unused_duplicate_lib:
$(RM) -f foo_dup_lib.o bar_dup_lib.o foo.hi foo.o libbar_dup_lib.a
- "$(CC)" -c foo.c -o foo_dup_lib.o
- "$(CC)" -c bar.c -o bar_dup_lib.o
+ "$(TEST_CC)" -c foo.c -o foo_dup_lib.o
+ "$(TEST_CC)" -c bar.c -o bar_dup_lib.o
"$(AR)" rs libbar_dup_lib.a bar_dup_lib.o 2> /dev/null
echo main | "$(TEST_HC)" $(filter-out -rtsopts, $(TEST_HC_OPTS_INTERACTIVE)) foo_dup_lib.o foo.hs -lbar_dup_lib -L"$(PWD)"
.PHONY: t_11223_link_order_a_b_succeed
t_11223_link_order_a_b_succeed:
$(RM) -f foo_link_lib_1.o bar_link_lib_1.o foo.hi foo.o libbar_link_lib_1.a libfoo_link_lib_1.a
- "$(CC)" -c foo.c -o foo_link_lib_1.o
- "$(CC)" -c bar.c -o bar_link_lib_1.o
+ "$(TEST_CC)" -c foo.c -o foo_link_lib_1.o
+ "$(TEST_CC)" -c bar.c -o bar_link_lib_1.o
"$(AR)" rs libbar_link_lib_1.a bar_link_lib_1.o 2> /dev/null
"$(AR)" rs libfoo_link_lib_1.a foo_link_lib_1.o 2> /dev/null
echo main | "$(TEST_HC)" $(filter-out -rtsopts, $(TEST_HC_OPTS_INTERACTIVE)) foo2.hs -lbar_link_lib_1 -lfoo_link_lib_1 -L"$(PWD)"
@@ -56,8 +56,8 @@ t_11223_link_order_a_b_succeed:
.PHONY: t_11223_link_order_b_a_succeed
t_11223_link_order_b_a_succeed:
$(RM) -f foo_link_lib_2.o bar_link_lib_2.o foo.hi foo.o libbar_link_lib_2.a libfoo_link_lib_2.a
- "$(CC)" -c foo.c -o foo_link_lib_2.o
- "$(CC)" -c bar.c -o bar_link_lib_2.o
+ "$(TEST_CC)" -c foo.c -o foo_link_lib_2.o
+ "$(TEST_CC)" -c bar.c -o bar_link_lib_2.o
"$(AR)" rs libbar_link_lib_2.a bar_link_lib_2.o 2> /dev/null
"$(AR)" rs libfoo_link_lib_2.a foo_link_lib_2.o 2> /dev/null
echo main | "$(TEST_HC)" $(filter-out -rtsopts, $(TEST_HC_OPTS_INTERACTIVE)) foo2.hs -lfoo_link_lib_2 -lbar_link_lib_2 -L"$(PWD)"
@@ -65,8 +65,8 @@ t_11223_link_order_b_a_succeed:
.PHONY: t_11223_link_order_a_b_2_fail
t_11223_link_order_a_b_2_fail:
$(RM) -f foo_link_lib_3.o bar_link_lib_3.o foo.hi foo.o libbar_link_lib_3.a libfoo_link_lib_3.a
- "$(CC)" -c foo.c -o foo_link_lib_3.o
- "$(CC)" -c bar.c -o bar_link_lib_3.o
+ "$(TEST_CC)" -c foo.c -o foo_link_lib_3.o
+ "$(TEST_CC)" -c bar.c -o bar_link_lib_3.o
"$(AR)" rs libbar_link_lib_3.a bar_link_lib_3.o 2> /dev/null
"$(AR)" rs libfoo_link_lib_3.a foo_link_lib_3.o 2> /dev/null
echo main | "$(TEST_HC)" $(filter-out -rtsopts, $(TEST_HC_OPTS_INTERACTIVE)) foo3.hs -lbar_link_lib_3 -lfoo_link_lib_3 -L"$(PWD)"
@@ -74,8 +74,8 @@ t_11223_link_order_a_b_2_fail:
.PHONY: t_11223_link_order_b_a_2_succeed
t_11223_link_order_b_a_2_succeed:
$(RM) -f foo_link_lib_4.o bar_link_lib_4.o foo.hi foo.o libbar_link_lib_4.a libfoo_link_lib_4.a
- "$(CC)" -c foo.c -o foo_link_lib_4.o
- "$(CC)" -c bar.c -o bar_link_lib_4.o
+ "$(TEST_CC)" -c foo.c -o foo_link_lib_4.o
+ "$(TEST_CC)" -c bar.c -o bar_link_lib_4.o
"$(AR)" rs libbar_link_lib_4.a bar_link_lib_4.o 2> /dev/null
"$(AR)" rs libfoo_link_lib_4.a foo_link_lib_4.o 2> /dev/null
echo main | "$(TEST_HC)" $(filter-out -rtsopts, $(TEST_HC_OPTS_INTERACTIVE)) foo3.hs -lfoo_link_lib_4 -lbar_link_lib_4 -L"$(PWD)"
@@ -87,40 +87,40 @@ t_11223_link_order_b_a_2_succeed:
.PHONY: t_11223_weak_only_link_fail
t_11223_weak_only_link_fail:
$(RM) -f power_w1.o power.hi power.o
- "$(CC)" -c power.c -DWEAK -o power_w1.o
+ "$(TEST_CC)" -c power.c -DWEAK -o power_w1.o
echo main | "$(TEST_HC)" $(filter-out -rtsopts, $(TEST_HC_OPTS_INTERACTIVE)) power.hs power_w1.o
.PHONY: t_11223_weak_only_link_succeed
t_11223_weak_only_link_succeed:
$(RM) -f power_w2.o power3.hi power3.o
- "$(CC)" -c power_slow.c -DWEAK -o power_w2.o
+ "$(TEST_CC)" -c power_slow.c -DWEAK -o power_w2.o
echo main | "$(TEST_HC)" $(filter-out -rtsopts, $(TEST_HC_OPTS_INTERACTIVE)) power3.hs power_w2.o
.PHONY: t_11223_weak_both_link_order_a_b_succeed
t_11223_weak_both_link_order_a_b_succeed:
$(RM) -f fast_power_w3.o slow_power_w3.o power3.hi power3.o
- "$(CC)" -c power_slow.c -DWEAK -o slow_power_w3.o
- "$(CC)" -c power.c -DWEAK -o fast_power_w3.o
+ "$(TEST_CC)" -c power_slow.c -DWEAK -o slow_power_w3.o
+ "$(TEST_CC)" -c power.c -DWEAK -o fast_power_w3.o
echo main | "$(TEST_HC)" $(filter-out -rtsopts, $(TEST_HC_OPTS_INTERACTIVE)) power3.hs fast_power_w3.o slow_power_w3.o
.PHONY: t_11223_weak_both_link_order_b_a_succeed
t_11223_weak_both_link_order_b_a_succeed:
$(RM) -f fast_power_w4.o slow_power_w4.o power3.hi power3.o
- "$(CC)" -c power_slow.c -DWEAK -o slow_power_w4.o
- "$(CC)" -c power.c -DWEAK -o fast_power_w4.o
+ "$(TEST_CC)" -c power_slow.c -DWEAK -o slow_power_w4.o
+ "$(TEST_CC)" -c power.c -DWEAK -o fast_power_w4.o
echo main | "$(TEST_HC)" $(filter-out -rtsopts, $(TEST_HC_OPTS_INTERACTIVE)) power3.hs slow_power_w4.o fast_power_w4.o
.PHONY: t_11223_weak_single_link_order_a_b_succeed
t_11223_weak_single_link_order_a_b_succeed:
$(RM) -f fast_power_w5.o slow_power_w5.o power3.hi power3.o
- "$(CC)" -c power_slow.c -o slow_power_w5.o
- "$(CC)" -c power.c -DWEAK -o fast_power_w5.o
+ "$(TEST_CC)" -c power_slow.c -o slow_power_w5.o
+ "$(TEST_CC)" -c power.c -DWEAK -o fast_power_w5.o
echo main | "$(TEST_HC)" $(filter-out -rtsopts, $(TEST_HC_OPTS_INTERACTIVE)) power3.hs fast_power_w5.o slow_power_w5.o
.PHONY: t_11223_weak_single_link_order_b_a_succeed
t_11223_weak_single_link_order_b_a_succeed:
$(RM) -f fast_power_w6.o slow_power_w6.o power3.hi power3.o
- "$(CC)" -c power_slow.c -DWEAK -o slow_power_w6.o
- "$(CC)" -c power.c -o fast_power_w6.o
+ "$(TEST_CC)" -c power_slow.c -DWEAK -o slow_power_w6.o
+ "$(TEST_CC)" -c power.c -o fast_power_w6.o
echo main | "$(TEST_HC)" $(filter-out -rtsopts, $(TEST_HC_OPTS_INTERACTIVE)) power3.hs slow_power_w6.o fast_power_w6.o
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/c240f9e316d2458266e431ca1474c50450978d79
--
This project does not include diff previews in email notifications.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/c240f9e316d2458266e431ca1474c50450978d79
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20240712/4f8245fb/attachment-0001.html>
More information about the ghc-commits
mailing list