grishka / libtgvoip

VoIP library for Telegram clients
The Unlicense
387 stars 156 forks source link

Fix Makefile #99

Open bakatrouble opened 4 years ago

bakatrouble commented 4 years ago

Makefile templates are missing video/VideoPacketSender and video/VideoFEC includes

zevlg commented 4 years ago

This PR fixes https://github.com/grishka/libtgvoip/issues/96

mymedia2 commented 3 years ago

@andy-shev

Makefile.in mustn't be part of repository

That's not dogma. There are several approaches to Autotools with version control systems. See comparisons:

  1. https://www.gnu.org/software/automake/manual/automake.html#CVS
  2. https://www.gnu.org/software/gettext/manual/gettext.html#Files-under-Version-Control
grishka commented 3 years ago

I've seen many repositories include configure. This way you don't need to run anything to generate it and don't need any build-time dependencies.

andy-shev commented 3 years ago

I've seen many repositories include configure. This way you don't need to run anything to generate it and don't need any build-time dependencies.

If they are all wrong, why should be you? https://en.wikipedia.org/wiki/Cargo_cult_programming

And to my point: VCS and release tarball are different in this case. when you build your release with make dist (https://www.gnu.org/software/automake/manual/html_node/Preparing-Distributions.html) you will get everything needed. Simply learn your tools (as I already mentioned somewhere else in this repo) :-)

grishka commented 3 years ago

The idea is that you clone the repo, run ./configure && make and that's it. Including configure is simply making it more convenient for your users by not requiring them to make sense of your build system. And making my project convenient for my users is my number one priority.

andy-shev commented 3 years ago

The idea is that you clone the repo, run ./configure && make and that's it. Including configure is simply making it more convenient for your users by not requiring them to make sense of your build system. And making my project convenient for my users is my number one priority.

I have updates my comment above. For your convenience repeating here the additional part:

And to my point: VCS and release tarball are different in this case. when you build your release with make dist (https://www.gnu.org/software/automake/manual/html_node/Preparing-Distributions.html) you will get everything needed. Simply learn your tools (as I already mentioned somewhere else in this repo) :-)

To @mymedia2: See above as well. Feel free to ask additional questions if you have something to be cleared.

mymedia2 commented 3 years ago

@andy-shev but your link says nothing about version control systems. Why do not you admit a workflow with generated files in Git? It is discussed in Automake docs.

andy-shev commented 3 years ago

@andy-shev but your link says nothing about version control systems. Why do not you admit a workflow with generated files in Git? It is discussed in Automake docs.

It's suboptimal to have generated files under VCS. User will regenerate them anyway (you never know what the actual version of autotools on the user's side). I see only disadvantages of this. And on top of that the standard de facto is to produce releases. If you do tags in VCS it's user's responsibility to generate necessary files on their side.