Author Topic: Tup - an awesome build tool!!  (Read 5650 times)

0 Members and 1 Guest are viewing this topic.

Offline SreejitSTopic starter

  • Contributor
  • Posts: 25
  • Country: in
Tup - an awesome build tool!!
« on: October 02, 2016, 08:24:02 pm »
Hello everyone!!
I recently ported the build system of an embedded project from GNU make to Tup .
I have to say tup really packs a punch!!Lightning fast....
Felt a warm and fuzy feeling on seeing the build process happen :D
So thought to share with everyone.
I will recommend it to anyone who wants to make the build process pretty fast.

http://gittup.org/tup/

What build tools do you people generally use ?
My favorite place to hang out : FooBar
 

Offline andersm

  • Super Contributor
  • ***
  • Posts: 1198
  • Country: fi
Re: Tup - an awesome build tool!!
« Reply #1 on: October 03, 2016, 07:04:40 am »
Ninja is very fast, and is supported as a Cmake backend.

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Tup - an awesome build tool!!
« Reply #2 on: October 03, 2016, 08:06:35 am »
tups seems to have same strange requirement about FUSE
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Tup - an awesome build tool!!
« Reply #3 on: October 03, 2016, 08:08:40 am »
ninja uses re2c  :palm: :palm: :palm:
 

Offline SreejitSTopic starter

  • Contributor
  • Posts: 25
  • Country: in
Re: Tup - an awesome build tool!!
« Reply #4 on: October 03, 2016, 08:14:48 am »
Quote
tups seems to have same strange requirement about FUSE

Tup does have some weird thing with fuse...
It generates a warning on my arch linux...
But other than that its cool!
My favorite place to hang out : FooBar
 

Offline SreejitSTopic starter

  • Contributor
  • Posts: 25
  • Country: in
Re: Tup - an awesome build tool!!
« Reply #5 on: October 03, 2016, 08:17:13 am »
Quote
ninja uses re2c  :palm: :palm: :palm:

I dont know anything about re2c ... can you tell why that is such a facepalm? :-//
My favorite place to hang out : FooBar
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Tup - an awesome build tool!!
« Reply #6 on: October 03, 2016, 09:50:36 am »
because it's a problem on gentoo, I need to update a lot of builds
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Tup - an awesome build tool!!
« Reply #7 on: October 03, 2016, 09:52:17 am »
Code: [Select]
*  dev-util/re2c
      Homepage:      http://re2c.sourceforge.net/
      Description:   tool for generating C-based recognizers from regular expressions

requested

Code: [Select]
A compatible version of re2c (>= 0.11.3)

I am going to emerge v0.13.7.5
but first i need to update and sync the whole portage
 

Online mac.6

  • Regular Contributor
  • *
  • Posts: 225
  • Country: fr
Re: Tup - an awesome build tool!!
« Reply #8 on: October 03, 2016, 09:57:02 am »
What build tools do you people generally use ?

CMake, with whatever generator you want (makefile, makefile+eclipse, ninja and other exotic build system).
 

Offline nano

  • Contributor
  • Posts: 29
  • Country: de
Re: Tup - an awesome build tool!!
« Reply #9 on: October 03, 2016, 11:34:52 am »
because it's a problem on gentoo, I need to update a lot of builds
Sounds more like a problem of your linux distribution :P
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Tup - an awesome build tool!!
« Reply #10 on: October 03, 2016, 12:36:53 pm »
Sounds more like a problem of your linux distribution :P

yeah, it is, and … might be solved soon, it's easier than TUP's issue
whose request appears like a wtf? I can't actually figure out what's
wrong with FUSE, anyhow






portage says OK

Code: [Select]
2016-10-03--11-45-53---2016-10-03--11-47-49 - emerge  dev-util/re2c - failure - root
2016-10-03--12-07-11---2016-10-03--14-10-38 - emerge  update - Last sync was 175d 20h 15m 59s ago, success - root
2016-10-03--14-55-57---2016-10-03--14-59-30 - emerge  dev-util/re2c - success - root

and finally I got ninja compiled

Code: [Select]
./ninja ninja_test
[0/17] CXX build/build_test.o
[17/17] LINK ninja_test
100% PASSED

the new env works, ninja should work!
whereas TUP … is still no-idea  :-//
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6190
  • Country: us
Re: Tup - an awesome build tool!!
« Reply #11 on: October 03, 2016, 03:16:36 pm »
Hello everyone!!
I recently ported the build system of an embedded project from GNU make to Tup .
I have to say tup really packs a punch!!Lightning fast....
Felt a warm and fuzy feeling on seeing the build process happen :D
So thought to share with everyone.
I will recommend it to anyone who wants to make the build process pretty fast.

http://gittup.org/tup/

What build tools do you people generally use ?
Is it a hoax? The explanation in your link that it's awesome because the arrows go up definitely sounds like a hoax.

Build tools are dime a dozen. Everybody feels the need to reinvent the wheel.
 

Online ralphrmartin

  • Frequent Contributor
  • **
  • Posts: 480
  • Country: gb
    • Me
Re: Tup - an awesome build tool!!
« Reply #12 on: October 03, 2016, 03:41:13 pm »
Its not a hoax as far as I can see. There is sound academic reasoning about what has to be looked at if the arrows go up or down, and why having them go up means you only need to consider for rebuilding things that actually depend on the changed files. Read the paper.
 
The following users thanked this post: SreejitS

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Tup - an awesome build tool!!
« Reply #13 on: October 03, 2016, 04:48:36 pm »
I agree  :-+
 

Offline SreejitSTopic starter

  • Contributor
  • Posts: 25
  • Country: in
Re: Tup - an awesome build tool!!
« Reply #14 on: October 03, 2016, 05:01:15 pm »
Quote
Is it a hoax?

No, I've tried it and results are pretty impressive. Though a thorough testing is required to reach any conclusion, I would say things are looking good as far as I know.
My favorite place to hang out : FooBar
 

Offline janoc

  • Super Contributor
  • ***
  • Posts: 3785
  • Country: de
Re: Tup - an awesome build tool!!
« Reply #15 on: October 03, 2016, 06:39:06 pm »
What build tools do you people generally use ?

CMake, with whatever generator you want (makefile, makefile+eclipse, ninja and other exotic build system).

Yep, CMake too. Pretty much the only sane way how to manage builds, especially if you need to handle cross-platform projects (Windows+Linux/Mac, embedded targets, etc.)

Also CMake config files are way easier to hack on than the MSVC projects.
 

Offline janoc

  • Super Contributor
  • ***
  • Posts: 3785
  • Country: de
Re: Tup - an awesome build tool!!
« Reply #16 on: October 03, 2016, 06:46:34 pm »
Quote
Is it a hoax?

No, I've tried it and results are pretty impressive. Though a thorough testing is required to reach any conclusion, I would say things are looking good as far as I know.

Does it actually support out of source builds now?
https://github.com/gittup/tup/issues/39

That's quite a show stopper for bigger projects, especially with the spew that Microsoft's compilers tend to produce.

Personally I am more partial to the approach that ninja took - they aren't trying to track dependencies (which is hard) but focus on building things really quickly. And they leave the dependency specification/tracking to tools that are better equipped for the task - such as CMake or the user.

Various make replacements are a dime a dozen and most don't really handle well the difficult problems - such as project configuration (where are dependencies, which libraries need to be linked, which targets to rebuild when, handling code generators, etc).
 

Offline SreejitSTopic starter

  • Contributor
  • Posts: 25
  • Country: in
Re: Tup - an awesome build tool!!
« Reply #17 on: October 03, 2016, 08:05:28 pm »
Quote
Does it actually support out of source builds now?
@janoc , thanks for pointing it out.
To be honest i was not even aware of out-of-source and in-source builds since i always used the former.

But i still think it is an excellent replacement for gnu make as projects using it are mostly built in-source.
Anyways, i hope they implement the feature as soon as possible  :D
My favorite place to hang out : FooBar
 

Offline janoc

  • Super Contributor
  • ***
  • Posts: 3785
  • Country: de
Re: Tup - an awesome build tool!!
« Reply #18 on: October 04, 2016, 07:38:35 pm »
But i still think it is an excellent replacement for gnu make as projects using it are mostly built in-source.
Anyways, i hope they implement the feature as soon as possible  :D

Well, that's actually debatable. Speed of compilation is only one parameter and rarely the most important one, actually. GNU make can be a pain to use but most developers at least know how to deal with it. And there are plenty of tools supporting it as well.

On the other hand, there are very few other things that can drive me up the wall in frustration faster than needing to build some software and discovering that it uses some obscure build system (jam or autobuild anyone?), requiring non-standard tools which I have to find, install/compile (and potentially troubleshoot!) and then figure out how to use. Oh and good luck if something doesn't work or you need to change something in the build config - then it could take hours trying to reverse engineer the build and make the tool do what I want it to.

Good example of this "not invented here/our itches are too special for a standard tool" syndrome is e.g. gradle used for Android builds or the Unreal's C# home-made build tool that is a project/makefile generator, code precompiler, dependency tracker and who knows what else. And does none of it too well - literally a missing comma in a file will make it crash without a word. Good luck tracking that down in the 6GB of Unreal's sources... The build configuration is done literally by writing C# files which get compiled and then it generates either makefiles or Visual Studio projects. To add insult to injury, this tool is the only C#/Mono dependency in the entire engine (which is C++ otherwise) and is pretty slow (and people complained about SCons' Python ...).



 
The following users thanked this post: MindBender


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf