The test does not work on windows, because clang will emit full type
information for __declspec(dllexport) types even under
-flimit-debug-info. __declspec(dllexport) is needed to be able to use
the type across shared library boundaries on windows, which makes this a
pretty good heuristic, but defeats the purpose of this test.
I am going to create (in another patch) an basic assembly test, so that
the relevant code gets at least some coverage on windows hosts.
This also reverts commit 1276855f2b, which
added the __declspec annotations -- they are not necessary anymore, and
they needlessly complicate the test.
28 lines
614 B
Makefile
28 lines
614 B
Makefile
CFLAGS_EXTRAS = $(LIMIT_DEBUG_INFO_FLAGS)
|
|
LD_EXTRAS = -L. -lone -ltwo
|
|
CXX_SOURCES = main.cpp
|
|
|
|
ONE_CXXFLAGS = $(LIMIT_DEBUG_INFO_FLAGS)
|
|
ifdef STRIP_ONE
|
|
ONE_CXXFLAGS += -g0
|
|
endif
|
|
|
|
TWO_CXXFLAGS = $(LIMIT_DEBUG_INFO_FLAGS)
|
|
ifdef STRIP_TWO
|
|
TWO_CXXFLAGS += -g0
|
|
endif
|
|
|
|
include Makefile.rules
|
|
|
|
a.out: libone libtwo
|
|
|
|
libone:
|
|
$(MAKE) -f $(MAKEFILE_RULES) \
|
|
DYLIB_ONLY=YES DYLIB_CXX_SOURCES=one.cpp DYLIB_NAME=one \
|
|
CFLAGS_EXTRAS="$(ONE_CXXFLAGS)"
|
|
|
|
libtwo: libone
|
|
$(MAKE) -f $(MAKEFILE_RULES) \
|
|
DYLIB_ONLY=YES DYLIB_CXX_SOURCES=two.cpp DYLIB_NAME=two \
|
|
CFLAGS_EXTRAS="$(TWO_CXXFLAGS)" LD_EXTRAS="-L. -lone"
|