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 1276855f2b4485ec312b379c1b8eaf5510d9b157, 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"
|