Angband Forums

Angband Forums (http://angband.oook.cz/forum/index.php)
-   Development (http://angband.oook.cz/forum/forumdisplay.php?f=10)
-   -   Configure script purpose (http://angband.oook.cz/forum/showthread.php?t=9984)

Gauss April 17, 2020 13:22

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.

Pete Mack April 17, 2020 14:59

You are not alone in hating config/autoconf. If you port to cmake, it'll get adopted.

Gauss April 19, 2020 11:26

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.

Pete Mack April 19, 2020 13:54

Windows and OSX each have makefile independent of configure, so it isn't necessary to get it all done at once.

Flambard May 24, 2020 18:04

Quote:

Originally Posted by Gauss (Post 144630)
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?

Pete Mack May 25, 2020 15:18

@Flambard: also, vi is totally better than emacs

Nick May 25, 2020 21:49

Quote:

Originally Posted by Pete Mack (Post 145822)
@Flambard: also, vi is totally better than emacs

You take that back.

Cuboideb May 25, 2020 22:43

Or... you q! that

Pete Mack May 26, 2020 00:03

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 (Post 145834)
You take that back.


Gauss May 26, 2020 10:35

Quote:

Originally Posted by Flambard (Post 145795)
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.


All times are GMT +1. The time now is 19:39.

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