LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


View Poll Results: Best open source build system?
GNU Autotools 7 87.50%
CMake 1 12.50%
scons 0 0%
meson 0 0%
Voters: 8. You may not vote on this poll

Reply
  Search this Thread
Old 06-16-2019, 04:58 PM   #1
Andy Alt
Member
 
Registered: Jun 2004
Location: Minnesota, USA
Distribution: Slackware64-stable, Manjaro, Debian64 stable
Posts: 528

Rep: Reputation: 167Reputation: 167
Best Build System


What's your favorite build system? Which ones need to be added to this poll?

Last edited by Andy Alt; 06-18-2019 at 01:21 AM. Reason: change "best" to "favorite"
 
Old 06-16-2019, 05:00 PM   #2
Andy Alt
Member
 
Registered: Jun 2004
Location: Minnesota, USA
Distribution: Slackware64-stable, Manjaro, Debian64 stable
Posts: 528

Original Poster
Rep: Reputation: 167Reputation: 167
Oh.. no way to edit polls I created?
 
Old 06-16-2019, 05:28 PM   #3
GazL
LQ Veteran
 
Registered: May 2008
Posts: 6,914

Rep: Reputation: 5032Reputation: 5032Reputation: 5032Reputation: 5032Reputation: 5032Reputation: 5032Reputation: 5032Reputation: 5032Reputation: 5032Reputation: 5032Reputation: 5032
For my own stuff, I just use a plain old makefile. Autotools has always seemed like a prime example of "cure is worse than the disease" to me. I don't know much about the other 3 on you list.
 
1 members found this post helpful.
Old 06-16-2019, 06:25 PM   #4
anon033
Member
 
Registered: Mar 2019
Posts: 188

Rep: Reputation: 13
Quote:
Originally Posted by Andy Alt View Post
What's the best build system? Which ones need to be added to this poll?
mk from Plan9
make
makefiles
tinycc

I hate cmake as it sucks and frankly avoid any cpp things like the plague (for many reasons), but especially because building cpp from source is often harder than it's worth.

Last edited by anon033; 06-16-2019 at 06:26 PM.
 
2 members found this post helpful.
Old 06-17-2019, 07:55 AM   #5
orbea
Senior Member
 
Registered: Feb 2015
Distribution: Slackware64-current
Posts: 1,950

Rep: Reputation: Disabled
I'm not sure what the best is, but I like sofort.

https://git.midipix.org/sofort

Quote:
Originally Posted by FOSSilized_Daemon View Post
tinycc
This is a compiler, not a build system.
 
1 members found this post helpful.
Old 06-17-2019, 08:02 AM   #6
pan64
LQ Addict
 
Registered: Mar 2012
Location: Hungary
Distribution: debian/ubuntu/suse ...
Posts: 21,976

Rep: Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337
clearmake is the best I know.
CMake is not a build system, but a build system generator and the generated build system is not "the best" at all.
 
1 members found this post helpful.
Old 06-18-2019, 01:25 AM   #7
Andy Alt
Member
 
Registered: Jun 2004
Location: Minnesota, USA
Distribution: Slackware64-stable, Manjaro, Debian64 stable
Posts: 528

Original Poster
Rep: Reputation: 167Reputation: 167
"Favorite" would have been a better title for this poll and thread. So let's try that theme from here on.

Still.. good info so far.
 
Old 06-25-2019, 11:43 AM   #8
Andy Alt
Member
 
Registered: Jun 2004
Location: Minnesota, USA
Distribution: Slackware64-stable, Manjaro, Debian64 stable
Posts: 528

Original Poster
Rep: Reputation: 167Reputation: 167
I've mostly been using GNU autotools the last few years for small projects. I never spent the time to learn how to write just plain Makefiles, but have gotten pretty handy with automake and autoconf in the last year-and-a-half.

I tried changing a few projects to CMake but never was too happy that CMake doesn't create an "uninstall" rule.

I don't completely understand the logic behind the statement: "We do not want 'make uninstall' to remove useful files from the system." If 'make uninstall' removed files from someone's system, wouldn't that mean 'make install' overwrote files on the system? I mean, if the idea is that uninstalling files only uninstalls files that were installed with 'make install'? If there were any files overwritten, wouldn't that be a matter of a user setting an install target that was unintended?

Recently someone suggested to me that Meson was "better" than CMake or Autootools; I've since tried it out on two of my small projects, created a binary and a library. Meson is... interesting. Without stumbling into any major bugs, I basically got it to do everything I needed to do for those small projects, with the help of folks from #mesonbuild on IRC. The docs are pretty good, mostly complete, imo, but I find them a little bit difficult to navigate at times. But what I couldn't find in the docs, I got answers to with good speed from #mesonbuild. As for minor bugs, sometimes it's difficult to call anything a "bug" until I'm sure it's not user-error from lack of experience. xD. But with over 900 issues open on the project repo, I'm concerned about porting yet until I know what I may be facing.

I'm not in any real hurry though to switch my build systems (or generator systems xD). GNU autotools has worked pretty well for me, I may never switch. Once in a while I get pretty frustrated with it but somehow I can always get things to work in the end.

Last edited by Andy Alt; 06-25-2019 at 11:46 AM.
 
Old 06-25-2019, 12:34 PM   #9
crts
Senior Member
 
Registered: Jan 2010
Posts: 2,020

Rep: Reputation: 757Reputation: 757Reputation: 757Reputation: 757Reputation: 757Reputation: 757Reputation: 757
Gradle

Gradle is quite versatile and takes some time to get even the basics, yet somehow (within a reasonable amount of time spent on websearches) I manage to configure the project the way I want. I have seen it mostly used for Java projects but I have also successfully build a small c program with it.
 
Old 07-02-2019, 12:12 AM   #10
cyent
Member
 
Registered: Aug 2001
Location: ChristChurch New Zealand
Distribution: Ubuntu
Posts: 398

Rep: Reputation: 87
Need more options....

....those are old or boring or insane.

cmake worries me. It seems like a grand leap in the wrong direction.

Things like https://github.com/apenwarr/redo are more interesting.
 
Old 07-02-2019, 12:33 AM   #11
pan64
LQ Addict
 
Registered: Mar 2012
Location: Hungary
Distribution: debian/ubuntu/suse ...
Posts: 21,976

Rep: Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337
there is a tool named tup too and there are additional "extensions" like ccache and audited objects (not to speak about maven).
 
Old 07-02-2019, 01:28 PM   #12
wjaguar
LQ Newbie
 
Registered: Oct 2007
Distribution: Slackware
Posts: 22

Rep: Reputation: 24
All are worse

Hugely overcomplicated pseudo-"universal" stuff, fraught with weird errors and eldritch misbehaviours. Why learn a whole extra made-up language (no matter if it styles itself a "build system" when it IS Turing-complete) when you already have two (sh AND make) you need to know irregardless? Just make full use of either. It is not THAT hard.

Myself, I use a "build system" written by my very own self. 20 kb of portable shell code; 8 years in use; no problems at all. And less time spent WRITING it, than would have gone into LEARNING autotools OR cmake OR whatever-is-in-fashion-today.
 
1 members found this post helpful.
Old 07-03-2019, 08:27 PM   #13
cyent
Member
 
Registered: Aug 2001
Location: ChristChurch New Zealand
Distribution: Ubuntu
Posts: 398

Rep: Reputation: 87
Quote:
Originally Posted by wjaguar View Post
Hugely overcomplicated pseudo-"universal" stuff, fraught with weird errors and eldritch misbehaviours. Why learn a whole extra made-up language
Agreed. CMake is even worse, it's a bad language that autogenerates a worse language.

Personally I opt for ruby as much nicer than shell, but I agree with you.


Although I do think the redo /tup generation of tools are on to some good ideas.
 
1 members found this post helpful.
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Linux 4.4 seems to refuse to build IPv6 for the 64-bit build - 32-bit build works fine GameCodingNinja Linux From Scratch 2 02-07-2016 06:40 PM
[SOLVED] The build is prepared but confused about the next steps to build the LFS system CBM200 Linux From Scratch 3 02-04-2014 10:47 AM
SSH working from System A to System B but not from system B to System A bala150985 Linux - Networking 15 05-23-2009 08:53 AM
What is the best way to build a system that is "almost" embedded? fredrikis Linux - General 2 11-13-2008 11:14 AM
LXer: Build 'em Right, Build 'em Strong, Build 'em Linux LXer Syndicated Linux News 0 10-01-2007 09:51 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 01:37 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration