On Thu, Aug 30, 2018 at 3:04 PM Paul T. Bauman <ptbau...@gmail.com> wrote:
>
>
> On Thu, Aug 30, 2018 at 3:02 PM Derek Gaston <fried...@gmail.com> 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 <ptbau...@gmail.com>
>> 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 <royst...@ices.utexas.edu>
>>> 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
>>>> Libmesh-devel@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/libmesh-devel
>>>>
>>>
------------------------------------------------------------------------------
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
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel