Yann E. MORIN [Sun, 29 Nov 2015 21:04:32 +0000 (22:04 +0100)]
autostuff: get rid of the bootstrap script
Running autoreconf when AC_CONFIG_MACRO_DIR does not exist ends up in a
failure. Unfortunately, git does not track empty directories. That's why
we have bootstrap, which creates it before running autoreconf.
Add an empty, dummy file in there and track it, so we can get rid of our
bootstrap script.
Update the README file accordingly.
We're left with a stray, generated autom4te.cache file, but that's a
minor annoyance.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Configure: check for lex/yacc availability in path
Autoconf provides macros to check for `Particular programs'. Among
those are `lex' and `yacc' families of programs. When the relevant
macro is used, autoconf will look for a list of programs in the PATH,
perform execution check of the programs found, and set the associated
variable to the best possible match (for example, `flex' has precedence
over `lex').
The problem comes from the behavior of those two macros when no match
is found in the PATH: associated variables are set to a default value
and no further check is performed. This can lead to running ./configure
successfully and encountering an obfuscated error during compilation
for the output of `lex' and `yacc' could not be produced and fed to
the compiler.
This patch adds checks on the result of autoconf macros, and aborts
./configure execution if needed.
Signed-off-by: Clement Chauplannaz <chauplac@gmail.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Explicit the behavior regarding silent-rules (i.e. on by default for
release / off by default for development).
Correct a typo in the comment on -Werror option.
Signed-off-by: Clement Chauplannaz <chauplac@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Rewrite calls to `sed' to remove '-r/--regexp-extended' parameter, which is not
supported by BSD `sed'.
BSD `sed' does implement regular expressions, but enables them with parameter
'-E' which in turn is not officially supported by GNU `sed' - in fact it is
implemented but not documented.
Signed-off-by: Clement Chauplannaz <chauplac@gmail.com>
[yann.morin.1998@free.fr: tweak the root-menu hunk] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Yann E. MORIN" [Tue, 5 Mar 2013 00:08:27 +0000 (01:08 +0100)]
configure: also search for libtinfo if needed
As Justin says:
When building ncurses with --with-termlib several symbols get moved from
libncurses.so to libtinfo.so. Thus when linking with libncurses.so, one
additionally needs to link with libtinfo.so.
Contrary to the Linux kernel (that is on the verge of using pkg-config or
the ncurses*-config scripts), we simply see if we need to link against
libtinfo to get a symbol known to get moved there.
Reported-by: Justin <jlec@gentoo.org> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Yann E. MORIN" [Mon, 4 Mar 2013 23:29:51 +0000 (00:29 +0100)]
configure: fixup extended colors in wide-char-enabled ncurses
As Krzysztof puts it in its commit log in the Linux kernel:
The ncurses library allows for extended colors. The support for extended
colors support depends on wide-character support. ncurses headers
enable extended colors (NCURSES_EXT_COLORS) only when wide-character
support is enabled (NCURSES_WIDECHAR).
The "make menuconfig" uses wide-character ncursesw library, which can be
compiled with wide-character support, but does not define NCURSES_WIDECHAR
and it's using headers without wide-character (and extended colors) support.
This fixes problems with colors on systems with enabled extended colors
(like PLD Linux). Without this patch "make menuconfig" is hard to use.
In kconfig-frontends, we fix this by adding the appropriate CPPFLAGS to the
mconf-specific ncurses CPPFLAGS.
Reported-by: Krzysztof Mazur <krzysiek@podlesie.net> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Yann E. MORIN" [Mon, 4 Mar 2013 22:32:54 +0000 (23:32 +0100)]
Synchronise with v3.9-rc1
This brings up all changes accumulated since v3.7 was released:
- get the "CONFIG_" prefix from the environment
- enhancements in mconf: navigable input boxes, better UI, fix in lxdialog
- enhancements in nconf: entirely rewritten help texts, UI tweaks
- fixes in qconf and conf
- fix in documentation
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Yann E. MORIN" [Sat, 26 Jan 2013 18:00:32 +0000 (19:00 +0100)]
configure: build with -Werror by default for devel
When building a devel snapshot (eg. a checkout if the repo), build
with -Werror by default, unles overriden by the user. This should
hopefully help catch errors early.
For releases, do not build with -Werror by default, unless the user
explicitly request -Werror.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Yann E. MORIN" [Sun, 13 Jan 2013 22:10:48 +0000 (23:10 +0100)]
configure: dump checks for standard headers/functions
As Jan puts it:
I would simply direct users to read the compiler error message.
That enhances (hopefully) both their knowledge on compiling,
and reduces the walltime configure runs.
Make it so! :-)
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Jan Engelhardt <jengelh@inai.de>
Yann E. MORIN" [Thu, 15 Nov 2012 20:32:38 +0000 (21:32 +0100)]
scripts: use a dot to separate third and fourth digits
Traditionally, Linux distributions have been using the dash as a separator
between the package's upstream versionning and their own local packaging
versioning.
Using a dash in kconfig-frontends' own versioning scheme may confuse the
distributions, which may not expect this situation (and even if some do,
not all do).
In the beginings, I thought about using a dash to make it explicit that
the digits before the dash was Linux' version, while the digit(s) after
the dash was kconfig-frontends' version. That, because the Linux version
has only two digits for .0 releases, and three digits for stable releases.
But since the Linux kernel's Makefile still report a three-digit version
even for .0 releases, we ended up always using a three-digit Linux version,
and thus always had a four-digit kconfig-frontends' version.
So, use a dot instead of a dash.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Yann E. MORIN" [Thu, 25 Oct 2012 19:07:48 +0000 (21:07 +0200)]
configure: avoid warning with automake 1.12 on Cygwin
With automake 1.12 came a new macro, AM_PROG_AR, which *must* be used if
the archiver (eg. ar on GNU systems) is used, to support exotic archivers
such as the one from Microsoft (lib).
Unfortunately, this macro causes issues on older automake versions, and
thus needs to be conditionalised (if that wasn't a word, it now is ;-) )
Furthermore, this macro *must* be called before we initialise libtool
(with LT_INIT).
Sigh... :-/
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Yann E. MORIN" [Wed, 17 Oct 2012 21:58:08 +0000 (23:58 +0200)]
Synchronise with 3.7rc1
Pull-in those changes:
kconfig: replace 'oldnoconfig' with 'olddefconfig', and keep the old name as an alias
menuconfig: Assign jump keys per-page instead of globally
menuconfig: Do not open code textbox scroll up/down
menuconfig: Add jump keys to search results
menuconfig: Extend dialog_textbox so that it can return to a scrolled position
menuconfig: Extend dialog_textbox so that it can exit on arbitrary keypresses
menuconfig: Remove superfluous conditionnal
kconfig: document oldnoconfig to what it really does in conf.c
kconfig/mconf.c: revision of curses initialization.
Signed-off-by: "Yann E. MORIN" <yann.morin@orange.com>
libtool requires the -no-undefined flag on PE platforms to create shared
libraries.
We also need to link against $(lib_INTL) or there would be link errors, since
Cygwin relies on libintl, and PE platforms imply -Wl,-as-needed,-no-undefined.
If both ncurses and ncursesw are installed, the headers ncurses/curses.h
and ncursesw/curses.h differ, and since libncursesw will be found first,
so should ncursesw/curses.h.