> On Jan 17, 2018, at 2:55 PM, Adrian Prantl <apra...@apple.com> wrote: > > > >> On Jan 17, 2018, at 2:50 PM, Jim Ingham <jing...@apple.com> wrote: >> >> >> >>> On Jan 17, 2018, at 2:49 PM, Adrian Prantl <apra...@apple.com> wrote: >>> >>> >>> >>>> On Jan 17, 2018, at 2:31 PM, Zachary Turner <ztur...@google.com> wrote: >>>> >>>> I don't think new test authors really need to add CMake any more so than >>>> they currently need to understand Make. Which is to say, not very much. >>>> Most Makefiles are currently 1-2 lines of code that simply does nothing >>>> other than include the common Makefile. >>>> >>>> On the other hand, CMake defines a lot of constructs designed to support >>>> portable builds, so actually writing and maintaining that common CMake >>>> build file would be much easier. The existing Makefile-based system >>>> already doesn't require you to understand the specific compiler >>>> invocations you want. Here's 3 random Makefiles, which is hopefully >>>> representative given that I pulled them completely at random. >>>> >>>> breakpoint-commands/Makefile: >>>> LEVEL = ../../../make >>>> CXX_SOURCES := nested.cpp >>>> include $(LEVEL)/Makefile.rules >>>> >>>> functionalities/inferior-assert: >>>> LEVEL = ../../make >>>> C_SOURCES := main.c >>>> include $(LEVEL)/Makefile.rules >>>> >>>> >>>> types: >>>> LEVEL = ../make >>>> # Example: >>>> # >>>> # CXX_SOURCES := int.cpp >>>> include $(LEVEL)/Makefile.rules >>>> >>>> None of this is particularly interesting. There are a very few tests that >>>> need to do something weird. I opened 10 other random Makefiles and still >>>> didn't find any. I don't believe it would be hard to support those cases. >>>> >>>> So now instead of "understand Make" it becomes "understand CMake". Whic >>>> is already a requirement of building LLVM. >>> >>> Fair point. I would suggest that I'll try to make LLDB's testsuite build >>> out-of-tree using the existing Makefile system. That should be a generally >>> useful first step. After doing this I will hopefully have a much better >>> understanding of the requirements of the Makefiles and then we can revisit >>> this idea with me actually knowing what I'm talking about :-) >>> >>>> If our test suite was lit-based where you actually had to write compiler >>>> invocations into the test files, I would feel differently, but that isn't >>>> what we have today. We have something that is almost a direct mapping to >>>> using CMake. >>> >>> Question: how would you feel about converting the Makefiles to LIT-style >>> .test files with very explicit RUN-lines? >> >> I'm not sure what you mean by this. > > Instead of using a build system at all to build the tests, we would hard-code > the compiler and linker invocations without encoding any dependencies. > Because we still need this to be configurable, it would probably look > something like this: > > RUN: %CXX test.cpp -O0 %CXXFLAGS -o test.exe > RUN: %test_driver test.exe mytest.py
I'm worried we'd back into building another make system over time. What advantage would we get from this. Jim > > -- adrian > >> >> Jim >> >> >>> >>> -- adrian _______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev