From: Derek G. <fri...@gm...> - 2018-08-30 19:02:39
|
In general you guys are talking about "features" though: when in my estimation the "core" capability of the development cycle is broken. I don't think that maintaining "nice" features is worth it at the cost of hurting the main development cycle (build->fix->build->fix->add_file->build->fix->test). I would rather fix the core development cycle - then backfill features based on priority (install > check > dist > out-of-tree, etc.). We completely chucked a sane development flow for the sake of a few features that are rarely actually used. As for symlinking: that's done so that we can maintain code organization - and allow for the "libmesh/" prefix for #includes (namespacing the header file names essentially). Derek On Thu, Aug 30, 2018 at 2:50 PM Paul T. Bauman <ptb...@gm...> wrote: > This all got started while I was lecturing for my two undergrad classes, > so I'm going to piggy back on Roy's response to start and then reply to > some others since history was getting trimmed in some replies. > > On Thu, Aug 30, 2018 at 12:28 PM Roy Stogner <roy...@ic...> > wrote: > >> >> On Thu, 30 Aug 2018, Derek Gaston wrote: >> >> > After all of these years: I still dislike the Automake build system >> > in libMesh. >> >> So do I. >> > > All build systems suck. As Ben pointed out, one advantage with autotools > is not having to build the build system. (CMake, SCons, etc.) > > >> > I still can't believe that we threw out a perfectly >> > decent build system and saddled ourselves with this thing. >> > > Decent, but feature incomplete. > > >> > In hindsight: do you guys TRULY think it was worth it? >> >> For install/dist/distcheck targets, and out-of-source builds? Yeah. >> > > I'll add 'check' target as well, but emphatically yes on all counts. > Especially check, install, and out-of-source builds. > > >> > All I'm trying to do right now is add ONE damn header file - and I >> > can't seem to find the magic script / sauce to get everything >> > updated. I ran include/rebuild_include_HEADERS.sh ... nope. I ran >> > bootstrap... still nope. Oh! Now I remember... I need to run >> > include/libmesh/rebuild_makefile.sh... NOPE! >> > > https://github.com/libMesh/libmesh/wiki/Adding-or-removing-source-files > > Should we put one magic add_files.sh at the top level? >> >> But the two include shell scripts should have done it... that's always >> worked for me. I guess I usually manually bootstrap afterwards too, >> but in my experience automake is smart enough to rerun itself if it >> sees Makefile.am newer than Makefile.in. >> > > But I do agree this seems like a needless hassle to symlink the header > files. Were we just trying to preserve some transition between svn and git > or something? Why not just `git mv` the headers and get rid of the need for > symlinking. I'm sure I'm missing something, but I don't remember what it is. > > >> > Ok - 100% serious here. If I redo the libMesh build system so that >> > it's autoconf and make based again - would you guys consider >> > switching to it? >> >> Consider? Yes. Anticipate agreeing to with such a high probability >> that the work would be worth your time? No. >> > > Pretty much this. I don't think it's worth the time because none of the > features we have with automake I'm willing to give up. > > >> Except... if you're going full Focus on creating a new build system, >> presumably you'd want to put it in MOOSE too... >> >> And I'd really love to be able to do out-of-source builds in MOOSE >> too. If "autoderek" handled that (plus "make install"; I don't care >> as much about dist/distcheck) > > > I disagree, I think dist and distcheck are important. Also `make check`. > > >> it would be totally worth the switch >> from my point of view. You'd still have to convince others though. >> >> (It's not really graft if I let my decisions get swayed for code >> rather than money, right? ...) >> --- >> > >> Roy------------------------------------------------------------------------------ > > >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> _______________________________________________ >> Libmesh-devel mailing list >> Lib...@li... >> https://lists.sourceforge.net/lists/listinfo/libmesh-devel >> > |