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

Addition of a build system generator #5

Open
elfring opened this issue Jul 7, 2018 · 12 comments
Open

Addition of a build system generator #5

elfring opened this issue Jul 7, 2018 · 12 comments

Comments

@elfring
Copy link

elfring commented Jul 7, 2018

I suggest to reuse a higher level build system so that powerful checks for software features will become easier.

@hnes
Copy link
Owner

hnes commented Jul 8, 2018

Thanks Markus for your nice proposal :D

The reason why I choosed to write a simple bash script make.sh is because:

  • The libaco is very simple to build and also has very minimal dependencies on the POSIX.
gcc -g -O2 acosw.S aco.c app_of_libaco.c -o app_of_libaco
  • Using bash scripts could make the C flags matrix build process easier and clearer.

But still, adding the higher level build system support could even better.

I would like to add it to the ToDo list and it would be released in the future v1.3.0 since it is not so urgent.


Edit:

The reason why there is no such static or shared library makefile for libaco is because:

  • There are several C macro config choices in libaco's build;
  • The binary of libaco self is so tiny (15k~).

So, I think the best option for the developer is to configure the C macros and compile libaco himself. It would be clearer and is more impossible to make a mistake.

@elfring
Copy link
Author

elfring commented Jul 8, 2018

@hnes
Copy link
Owner

hnes commented Jul 8, 2018

Maybe I'll choose to use CMake, but the priority of this issue is not so high.

@hnes
Copy link
Owner

hnes commented Jul 12, 2018

I have just committed a simple Makefile demo for test_aco_synopsis.c. A full functional makefile (also including the test suites) will come with the release of v1.3.0.

@elfring
Copy link
Author

elfring commented Jul 13, 2018

I propose to invest development resources more in better build scripts than in a questionable make file.

hnes added a commit that referenced this issue Jul 13, 2018
…monstration and will be substituted when our formal build system generator arrives ( issue #5 )
@hnes
Copy link
Owner

hnes commented Jul 13, 2018

Of course, we will. That Makefile is just temporary and will be substituted in the future with our formal build system generator. I should have commented on it clearly.

hnes added a commit that referenced this issue Jul 13, 2018
@elfring
Copy link
Author

elfring commented Jul 13, 2018

How do you think about to avoid intermediate work if you became convinced that other development approaches will provide better functionality?

@hnes
Copy link
Owner

hnes commented Jul 14, 2018 via email

@ddengster
Copy link

ddengster commented Jul 14, 2018

Don't agree with using an overly-complex build system. A simple makefile should be more than enough.

Check out this code philosophy; I think your code is so tiny it fits right in.
https://github.com/nothings/single_file_libs

@hnes
Copy link
Owner

hnes commented Jul 16, 2018

Thank you very much for your kindly advice, @ddengster.

In the future, even we decide to add some build system generator, that would be only limited to the build of the test suites. There would be no such static or shared library makefile for libaco (the reason is described in the 2nd comment of this thread) unless there are some very strong benefits.

@elfring
Copy link
Author

elfring commented Jul 16, 2018

Is a build approach like “GNU Libtool” another incentive for further evolution in this software area?

uael added a commit to uael/libaco that referenced this issue Jul 19, 2018
Moved includes, sources, bench and tests to separate directories
Disabled tutorial 4 & 5 abort until i find a workaround to handle 'must fail test'
Added a makefile to wrap the CMake build
@techbech
Copy link
Contributor

techbech commented Jan 9, 2021

Any updates on this @hnes ? 🙂

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

No branches or pull requests

4 participants