Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The build system needs a cleanup #64

Open
oysteijo opened this issue Dec 20, 2023 · 1 comment
Open

The build system needs a cleanup #64

oysteijo opened this issue Dec 20, 2023 · 1 comment

Comments

@oysteijo
Copy link
Owner

Yes! We need some cleanup on the build system.

Several problems:

  • We need to push the same CFLAGS over to pkg-config
  • USE_CBLAS is handled differently than other build options.
@oysteijo
Copy link
Owner Author

OK! let's start thinking...

I really don't want any autoconf/automake/libtool. They might work for other projects, but I they create more mess than I appreciate. I really don fancy cmake either. Also I would prefer not to have many other dependencies.

Let's look at the list: https://en.wikipedia.org/wiki/List_of_build_automation_software
hmmm... nothing much new there...

I think I have to stick with make and makefiles. However I can maybe summarize a few problems and learnings and maybe come up with a set of requirements here.

It seems obvious (even though I'm not sure it is) that I need the same configuration when building applications as used when building the libraries. I think I should pass those configuration over to the application builder through pkg-config. However that will then make an other dependency....

And then all the dependencies....
Let's assume we build at a system which has a minimum set of tools available.

  • A C compiler: GCC or Clang or Intel(?)
  • make
  • Basic shell utils. cp, mv, sed, awk, grep, install(?), ar, ranlib, rm, mkdir, echo, strip. And the configure script is written in bash. So bash must be installed.
  • And what about pkg-config ? Is that really a dependency?
  • Depending libraries: libzip (!) and then BLAS and OpenMP

Hmmmm....

But wait... there is more. Which operating system is this? And which hardware? Which instruction set is supported?

... so many questions.... I'm already getting a headache.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant