From: Paul T. B. <ptb...@gm...> - 2018-08-30 19:09:12
|
On Thu, Aug 30, 2018 at 3:04 PM Paul T. Bauman <ptb...@gm...> wrote: > > > On Thu, Aug 30, 2018 at 3:02 PM Derek Gaston <fri...@gm...> wrote: > >> 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 should've added here, this is entirely how our build system currently works. I've had a build tree. I make a modification in the source. I hit `make` in the build tree. I edit the source. I hit `make` in the build tree. I hit make install. (With install -C so GRINS only rebuilds what's necessary). > >> 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. >> > > "Rarely used" is totally and completely wrong. Every single one of those > is a core feature of the build system and a vital part of my entire groups > workflow. > > >> 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). >> > > So why don't just `git mv` them and be done with it? > > >> >> 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 >>>> >>> |