Angband.oook.cz
Angband.oook.cz
AboutVariantsLadderForumCompetitionComicScreenshotsFunniesLinks

Go Back   Angband Forums > Angband > Development

Reply
 
Thread Tools Display Modes
Old April 17, 2020, 13:22   #1
Gauss
Adept
 
Gauss's Avatar
 
Join Date: Aug 2018
Location: Barcelona
Posts: 108
Gauss is on a distinguished road
Configure script purpose

What's the main purpose of the configure file? I know it detects system dependencies and allows for configuration options but it's a 7000+ lines of code script. I would also suggest the idea of using cmake for the whole build/test cycle. I have been using cmake for a few months and it's a really powerful tool for multiple systems developement. It's way superior to the old autogen+configure+makefile combo. So i would like to know from Nick or other devs how feasible would it be switching to cmake.
Gauss is offline   Reply With Quote
Old April 17, 2020, 14:59   #2
Pete Mack
Prophet
 
Join Date: Apr 2007
Location: Seattle, WA
Posts: 5,741
Donated: $40
Pete Mack is on a distinguished road
You are not alone in hating config/autoconf. If you port to cmake, it'll get adopted.
Pete Mack is offline   Reply With Quote
Old April 19, 2020, 11:26   #3
Gauss
Adept
 
Gauss's Avatar
 
Join Date: Aug 2018
Location: Barcelona
Posts: 108
Gauss is on a distinguished road
I will try to get angband compiled with cmake when i finish exams. It doesn't look that complicated but i expect it to turn a nightmare when trying to build in windows and mac osx. I was trying also to port angband to python using derakon's code as basis but i left that aside months ago. Too much things to do and little spare time haha.
Gauss is offline   Reply With Quote
Old April 19, 2020, 13:54   #4
Pete Mack
Prophet
 
Join Date: Apr 2007
Location: Seattle, WA
Posts: 5,741
Donated: $40
Pete Mack is on a distinguished road
Windows and OSX each have makefile independent of configure, so it isn't necessary to get it all done at once.
Pete Mack is offline   Reply With Quote
Old May 24, 2020, 18:04   #5
Flambard
Scout
 
Flambard's Avatar
 
Join Date: Mar 2019
Posts: 30
Flambard is on a distinguished road
Quote:
Originally Posted by Gauss View Post
What's the main purpose of the configure file?
This is a bit disingenuous, it appears you know precisely, what "configure" is, you just don't like it.

The actual script is NOT 7000+ lines long, it's more like 600. https://github.com/angband/angband/b...r/configure.ac

The generated script works on everything that has a shell (not even bash, just any shell), thus it's completely dependency-free, which is the purpose.

Yes, autoconf syntax is a bit terse, but is CMakeLists.txt really better? And yeah, autoconf has some problems, but so does CMake.

Just my 2 cents, before jumping into next build system, maybe we should examine if that's even necessary?
Flambard is offline   Reply With Quote
Old May 25, 2020, 15:18   #6
Pete Mack
Prophet
 
Join Date: Apr 2007
Location: Seattle, WA
Posts: 5,741
Donated: $40
Pete Mack is on a distinguished road
@Flambard: also, vi is totally better than emacs
Pete Mack is offline   Reply With Quote
Old May 25, 2020, 21:49   #7
Nick
Vanilla maintainer
 
Nick's Avatar
 
Join Date: Apr 2007
Location: Canberra, Australia
Age: 55
Posts: 8,345
Donated: $60
Nick will become famous soon enough
Quote:
Originally Posted by Pete Mack View Post
@Flambard: also, vi is totally better than emacs
You take that back.
__________________
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.
Nick is offline   Reply With Quote
Old May 25, 2020, 22:43   #8
Cuboideb
Scout
 
Join Date: May 2020
Posts: 36
Cuboideb is on a distinguished road
Wink

Or... you q! that
Cuboideb is offline   Reply With Quote
Old May 26, 2020, 00:03   #9
Pete Mack
Prophet
 
Join Date: Apr 2007
Location: Seattle, WA
Posts: 5,741
Donated: $40
Pete Mack is on a distinguished road
Sorry Nick--
I just had to swing at a hanging curve ball, right over the middle of the plate.


More to the point, I wholeheartedly endorse the opinion in this thread. Autoconf works...except when it doesn't--at which poiny you are screwed .
https://stackoverflow.com/questions/...make-and-scons

Quote:
Originally Posted by Nick View Post
You take that back.
Pete Mack is offline   Reply With Quote
Old May 26, 2020, 10:35   #10
Gauss
Adept
 
Gauss's Avatar
 
Join Date: Aug 2018
Location: Barcelona
Posts: 108
Gauss is on a distinguished road
Quote:
Originally Posted by Flambard View Post
This is a bit disingenuous, it appears you know precisely, what "configure" is, you just don't like it.

The actual script is NOT 7000+ lines long, it's more like 600. https://github.com/angband/angband/b...r/configure.ac

The generated script works on everything that has a shell (not even bash, just any shell), thus it's completely dependency-free, which is the purpose.

Yes, autoconf syntax is a bit terse, but is CMakeLists.txt really better? And yeah, autoconf has some problems, but so does CMake.

Just my 2 cents, before jumping into next build system, maybe we should examine if that's even necessary?
If you have a look at github, many FOSS projects have jumped to cmake, even NASA uses it for some of their projects. I didn't say autoconf is bad, it's just that i think that building with cmake is way more professional and clean. It would improve the testing and developement IMO. It was just a suggestion though, also the magic of open source is that if something doesn't convince you, then just change it, so that's why i'm porting it to cmake. I will release it when i manage to have a clean testing build so everyone can try it and have an opinion about it. Also the integration with external libraries like SDL for example is better with cmake.
Gauss is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

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 On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
OS X: Purpose of ~/Angband/config? molybdenum Development 1 July 6, 2013 00:04
Just what is/are the purpose(s) of iron spikes, anyway?* Deof Movestofca Vanilla 18 January 26, 2013 02:03
Functional purpose of town map? bunnies Vanilla 24 December 31, 2011 09:15
What purpose money? smileyy Vanilla 11 October 5, 2011 18:27
Purpose of social status in Vanilla 3.1 Phoenix21692 Vanilla 1 January 13, 2009 17:10


All times are GMT +1. The time now is 13:30.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.