-
Christian Hergert authored
Previously, the build system was an experiment in compartmentalizing various autoconf and automake features. That was very much an experiment I'm happy to put behind us. Managing it was just getting too abstract. This moves us to a more traditional autotools setup using recursive automake. I know, I know, "Recursive Automake Considered Harmful" and all. Build times don't seem to be too adversely affected at the moment. Also, we generate ide-debug.h now so that when --enable-tracing is set, we force rebuilding the dependent modules. --enable-tracing now implies --enable-debug I've also added two more options: --enable-optimizations will use -Bsymbolic for libide to help reduce the number of inter-PLT jumps. --enable-lto can be used to enable optimizations across .o's when linking. I've also moved various things around in a more traditional layout. libsearch.la can be found in contrib/search. This contains the Trie and Fuzzy search indexes. libeditorconfig.la can be found in contrib/libeditorconfig. This contains a partially modified upstream libeditorconfig. Mostly just build and warning fixes have been applied. We are now using Behdad's git.mk for tracking gitignores. Please use that whenever possible instead of manually creating .gitignore files. I've reversed how some debug options are checked. Instead of checking for tracing like: #ifndef IDE_DISABLE_TRACE I've inverted the check to #ifdef IDE_ENABLE_TRACE See libide/ide-debug.h.in as to why this is the case. I've also dropped various dead code. Uncrustify and highlight menu code to be specific. We can bring it back if designs dictate it. As for uncrustify, I think this is better placed in the scripting layer via GJS and GSubprocess. Thanks for reading!
bc6215c4