elementary-cxx: Make C++ test compile a not used archive so linking can be avoided
authorFelipe Magno de Almeida <felipe@expertisesolutions.com.br>
Thu, 9 Feb 2017 23:24:33 +0000 (21:24 -0200)
committerFelipe Magno de Almeida <felipe@expertisesolutions.com.br>
Thu, 9 Feb 2017 23:24:33 +0000 (21:24 -0200)
Fixes linking errors for some older combos of C++ compiler and linker.

T2838

src/Makefile_Cxx.am
src/tests/elementary_cxx/cxx_compile_test.cc
src/tests/elementary_cxx/cxx_dummy_compile_test.cc [new file with mode: 0644]

index 16317c8..f564d4f 100644 (file)
@@ -348,20 +348,29 @@ tests_evas_cxx_cxx_compile_test_LDADD = @CHECK_LIBS@ @USE_EVAS_LIBS@
 tests_evas_cxx_cxx_compile_test_DEPENDENCIES = @USE_EVAS_INTERNAL_LIBS@
 
 ### Tests for Elementary
-check_PROGRAMS += tests/elementary_cxx/cxx_compile_test
-TESTS += tests/elementary_cxx/cxx_compile_test
+check_PROGRAMS += tests/elementary_cxx/cxx_dummy_compile_test
+TESTS += tests/elementary_cxx/cxx_dummy_compile_test
 
-tests_elementary_cxx_cxx_compile_test_SOURCES = tests/elementary_cxx/cxx_compile_test.cc
-tests_elementary_cxx_cxx_compile_test_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
+check_LIBRARIES = tests/elementary_cxx/libcxx_compile_test.a
+tests_elementary_cxx_libcxx_compile_test_a_SOURCES = tests/elementary_cxx/cxx_compile_test.cc
+tests_elementary_cxx_libcxx_compile_test_a_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
+-I$(top_builddir)/src/lib/evas/canvas/ \
+-I$(top_builddir)/src/lib/efl/interfaces/ \
+-DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/elementary_cxx\" \
+-DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/elementary_cxx\" \
+@CHECK_CFLAGS@ @ECORE_CXX_CFLAGS@ @EINA_CXX_CFLAGS@ @EVAS_CXX_CFLAGS@ @ELEMENTARY_CXX_CFLAGS@ @EO_CXX_CFLAGS@ \
+@ECORE_CFLAGS@ @EINA_CFLAGS@ @EVAS_CFLAGS@ @ELEMENTARY_CFLAGS@ @EO_CFLAGS@
+
+tests/elementary_cxx/tests_elementary_cxx_cxx_dummy_compile_test-cxx_dummy_compile_test.$(OBJEXT): tests/elementary_cxx/libcxx_compile_test.a
+
+tests_elementary_cxx_cxx_dummy_compile_test_SOURCES = tests/elementary_cxx/cxx_dummy_compile_test.cc
+tests_elementary_cxx_cxx_dummy_compile_test_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
 -I$(top_builddir)/src/lib/evas/canvas/ \
 -I$(top_builddir)/src/lib/efl/interfaces/ \
 -DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/elementary_cxx\" \
 -DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/elementary_cxx\" \
 @CHECK_CFLAGS@ @ECORE_CXX_CFLAGS@ @EINA_CXX_CFLAGS@ @EVAS_CXX_CFLAGS@ @ELEMENTARY_CXX_CFLAGS@ @EO_CXX_CFLAGS@ \
 @ECORE_CFLAGS@ @EINA_CFLAGS@ @EVAS_CFLAGS@ @ELEMENTARY_CFLAGS@ @EO_CFLAGS@
-# No function is called, so we don't need to link to elementary
-tests_elementary_cxx_cxx_compile_test_LDADD = @CHECK_LIBS@
-tests_elementary_cxx_cxx_compile_test_DEPENDENCIES = 
 
 endif
 
diff --git a/src/tests/elementary_cxx/cxx_dummy_compile_test.cc b/src/tests/elementary_cxx/cxx_dummy_compile_test.cc
new file mode 100644 (file)
index 0000000..a25e629
--- /dev/null
@@ -0,0 +1,5 @@
+
+int main()
+{
+   return 0;
+}