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

Simplified build #41

Merged
merged 20 commits into from
Apr 19, 2020
Merged

Simplified build #41

merged 20 commits into from
Apr 19, 2020

Conversation

ibancg
Copy link
Owner

@ibancg ibancg commented Apr 19, 2020

Changes by Nicolas Boulenguez simplifying the build system.

asarhaddon and others added 20 commits April 19, 2020 18:36
This makes comparison with the Debian dependencies.
pkg-config was missing.
Condition inclusion with HAVE_CONFIG_H so that DEFS remains a possible
option.
Add missing lingot-defs.c.
Generation of the changelog introduces complexity for a very arguable
benefit. A contributor would probably start with 'git clone' before
possibly going offline.

It is also possible to pass the 'foreign' option to automake, so that
it does not require a ChangeLog in the first place.
The specfiles distribution lines have been added by a commit named 'Anjutized'.
They do not seem to exist anymore.
GETTEXT_PACKAGE is redundant with PACKAGE.

It is much easyer to pass LOCALEDIR via config.h (or DEFS).
AC_PREREQ: silents a warning

AC_CONFIG_SRCDIR: seems a good precaution

AM_MAINTAINER_MODE:
https://www.gnu.org/software/automake/manual/html_node/maintainer_002dmode.html#maintainer_002dmode

LT_INIT emits a warning if it is loaded before AM_PROG_AR.

AC_ISC_POSIX:
https://www.gnu.org/software/autoconf/manual/autoconf-2.60/html_node/Posix-Variants.html

AM_PROG_AR: libtool displays a warning if it is not explicit.

AC_HEADER_STDC:
https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/autoconf.html#AC_005fHEADER_005fSTDC

PKG_CONFIG(l,...) now automatically AC_SUBSTs l_CFLAGS and l_LIBS.
Do not repeat the detail of ./configure --help in README.md.

AC_ARG_WITH is recommended instead of AC_ARG_ENABLE for external
dependencies.  The choices in ./configure are now
* if available (the default)
* explicit yes (fail if unavailable)
* explicit no

Directly changing user variables like CFLAGS from configure.ac or
Makefile.am causes a lot of problems. Also, in automake, CFLAGS is
always appended, and AM_CFLAGS can be ignored nowadays in favor of
lingot_CFLAGS.

Only run the tests if libcunit is available.

Pass each l_CFLAGS l_LIBS for consistency, even if some happen to be
empty for now (like OSS_CFLAGS or PULSEAUDIO_CFLAGS).

On the other hand, the exemples do really not need GTK.

The -pthread option is intended for both cflags and ldflags.
Section 7.3 of the Automake manual gives excellent reasons to avoid
recursive Makefiles even if the directory structure is not flat.

Take the occasion to remove tabulations and sort lists.

Use dist_ prefix instead of EXTRA_DIST.
The installation directory was empty, which does not seem safe anyway.
@ibancg ibancg added this to the 1.1 milestone Apr 19, 2020
@ibancg ibancg self-assigned this Apr 19, 2020
@ibancg ibancg merged commit c6c2c59 into master Apr 19, 2020
@ibancg ibancg deleted the simplified-build branch May 2, 2020 08:30
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

Successfully merging this pull request may close these issues.

2 participants