-
Notifications
You must be signed in to change notification settings - Fork 896
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
First step of cleaning up the Makefile.in hell. #1163
Conversation
6c67aef
to
1b7be43
Compare
I like your contribution but the idea is to simplify rather than to make things less flexible. For instance I see you have listed in the makefile.am all the files. Makefile and llibtool are problems in some platforms (e.g. OpenWRT) and I would like to avoid them as much as possible. |
I am not an expert of Makefiles (or build systems in general) and I consider the autoconf stuff some kind of "dark magic" completely out of my league. Therefore I can't give any proper advice on this matter. |
@lnslbrty, I briefly tested your PR, everything seems to work (for my very, very basic workflows, at least) but I have a question.
with
Thanks |
On my system libtool/automake... are making compilation much slower and complex. I am still thinking about this PR if it makes sense or not. I am not a make expert but I believe cmake is the way to go it we want to change makefiles. @lnslbrty What do you think ? |
@IvanNardi @lucaderi Another solution to achieve working out-of-source builds could be to fix all Regarding OpenWrt: I was able to compile it w/o issues. |
This PR contains also an important fix I did not mention in the PR description. |
@lnslbrty , I confirm |
52e182e
to
78dc903
Compare
e3fa995
to
fd695c4
Compare
fd695c4
to
70f0350
Compare
70f0350
to
a11ab8a
Compare
a11ab8a
to
b7a9346
Compare
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information |
b7a9346
to
613a80a
Compare
The goal is to get rid of the Makefile.in's (replace it with Automake Makefile.am's) as they duplicate lot's of text. That decreases readability and is in general a bad design pattern. It seems appropriate to use Automake for an Autoconf based project. Currently achieved: * using libtool to build the core library (+libtool's semantic versioning) * out-of-source builds should work right now * introducing Automake based Makefile in src/ * removed some (maybe) unused GIT ignored files * provide some small python fixes Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
613a80a
to
b503900
Compare
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information |
@lnslbrty I will put this PR on hold also as many things have changed and it won't merge. I am open to improvements but not to put automake everywhere that slows down compilation and crates challenges on building on some embedded platforms. |
This fixes some build/test issues resulting when using tarballs. * nDPI uses autotools (especially autoconf) in a wrong way, see ntop#1163 Signed-off-by: lns <matzeton@googlemail.com>
This fixes some build/test issues resulting when using tarballs. * nDPI uses autotools (especially autoconf) in a wrong way, see ntop#1163 Signed-off-by: lns <matzeton@googlemail.com>
This fixes some build/test issues resulting when using tarballs. * nDPI uses autotools (especially autoconf) in a wrong way, see ntop#1163 Signed-off-by: lns <matzeton@googlemail.com>
This fixes some build/test issues resulting when using tarballs. * nDPI uses autotools (especially autoconf) in a wrong way, see ntop#1163 Signed-off-by: lns <matzeton@googlemail.com>
This fixes some build/test issues resulting when using tarballs. * nDPI uses autotools (especially autoconf) in a wrong way, see ntop#1163 Signed-off-by: lns <matzeton@googlemail.com>
This fixes some build/test issues resulting when using tarballs. * nDPI uses autotools (especially autoconf) in a wrong way, see #1163 Signed-off-by: lns <matzeton@googlemail.com>
Before fixing the protocol detection issues, there is another issue which annoys me since I started using nDPI.
Until this PR, out-of-source builds were impossible due to broken
autogen.sh
andMakefile.in
's.To "bypass" this limitations, multiple
git worktree
's were required.Having half-a-dozens additional nDPI directories just to build the library with different toolchains is not a good idea.
That PR is the first step addressing this issue.
I've tried to test as much as I could, but three things are currently untested:
I urge everyone to use
Makefile.am
(Automake) instead ofMakefile.in
(which just gets processed by Autoconf).The
Makefile.am
's can be generated withutils/generate_automake_am.sh
e.g. when a newtests/pcap
or asrc/
file has been added, but can also be added manually toMakefile.am
.The goal is to get rid of the Makefile.in's (replace it with Automake Makefile.am's)
as they duplicate lot's of text.
That decreases readability and is in general a bad design pattern.
It seems appropriate to use Automake for an Autoconf based project.
Currently achieved:
Signed-off-by: Toni Uhlig matzeton@googlemail.com