Commit Graph

227 Commits

Author SHA1 Message Date
Christophe de Dinechin b55b6b8694 If make-it-quick is installed, don't update MIQ path as we go 2019-03-12 14:02:27 +01:00
Christophe de Dinechin 14a2be96b0 Add support for man page generation and installation
Man pages are installed gzipped by default, and can be generated
from .pod files using pod2man.
2019-03-12 14:02:27 +01:00
Christophe de Dinechin 8914a36a4a v0.2 Improved packaging support, Haiku and FreeBSD platforms
- Installable package for Fedora and OpenSUSE
    - Add preliminary support for Haiku and FreeBSD
    - Several bug fixes
2019-03-12 14:02:27 +01:00
Christophe de Dinechin d4567d429d Add a default PRODUCTS_VERSION 2019-03-11 08:43:01 +01:00
Christophe de Dinechin 3d25a8dcdf Do not generate useless -rpath options 2019-03-11 08:43:01 +01:00
Christophe de Dinechin 42c96f890b Split system-wide setup and local setup
The local setup is used during the build, e.g. includes BUILDROOT.
The system setup is used after installation
2019-03-11 08:43:01 +01:00
Christophe de Dinechin 5d3414182b Create .spec file for Fedora packaging 2019-03-11 08:43:01 +01:00
Christophe de Dinechin 06093ff0b5 Show the comment from 'configure' as a comment
This way, the output of configure can be used for example as
a shell script or makefile include
2019-03-09 13:48:45 +01:00
Christophe de Dinechin ec4c992ffe Install support files without execute permission
This is mostly to avoid getting warnings from fedpkg
2019-03-09 13:48:45 +01:00
Christophe de Dinechin b0a7d70ad2 Add package information for make-it-quick 2019-03-09 13:48:45 +01:00
Christophe de Dinechin 8c48c933bf Add DESTDIR for generated config.local-setup.mk
This is necessary for the variables to have the correct values
when building in a DESTDIR after running configure
2019-03-09 13:48:45 +01:00
Christophe de Dinechin 29a1312825 Split install directories from prefix directories
Earlier, $(PREFIX_LIB) would be the path for libraries,
but also for installation. That led makefiles to adjusting
the prefix in order to install in some subdirectory.

That does not work in a distro setup where PREFIX_BIN
and the like are provided by the build environment,
and represent the base of that build environment.
2019-03-09 13:48:45 +01:00
Christophe de Dinechin 34a8de9b1c Fix the handling of dependency tracking in configure script. 2019-03-05 18:35:03 +01:00
Christophe de Dinechin 17d3e3d7e4 Add FreeBSD as a supported operating system 2018-11-21 17:45:47 +01:00
Christophe de Dinechin 04aa207539 Add support for Haiku 2018-11-21 12:42:13 +00:00
Christophe de Dinechin f0ebcbe77f Use $(MIQ_OBJDIR) in generated dependencies
This is to avoid a problem where MinGW GCC sometimes writes the
dependency as D:/path/to/obj.o, which confuses make.
2018-11-19 23:07:09 +01:00
Christophe de Dinechin caf1021828 Tentatively restore the dependency post-processing code that had been removed 2018-11-19 18:59:32 +01:00
Christophe de Dinechin 2037bcc92c Avoid running tests when no 'test' or 'check' target is invoked 2018-11-19 10:30:18 +01:00
Christophe de Dinechin 02f28c2f32 Fix check_glob.c
On ARM, the missing return 0 at end causes the program to return 16.
I believe that this is an error relative to the standard, but
in any case, it's worth fixing.
2018-11-17 17:55:07 +01:00
Christophe de Dinechin 3fcd9e674d Add check for glob() function 2018-11-17 17:28:23 +01:00
Christophe de Dinechin 00f4186cfe Add .gitignore file 2018-11-17 17:19:42 +01:00
Christophe de Dinechin 20cf6ace00 Add checks for various obsolete types 2018-11-17 11:45:16 +01:00
Christophe de Dinechin 9b4098a604 Add configuration define for MSYS 2018-11-17 11:34:33 +01:00
Christophe de Dinechin e3ad6a1ebc Fix link order for Cygwin and MinGW
Similar to what was done in b2e1f20c8b
for DLLs.
2018-11-16 19:00:22 +01:00
Christophe de Dinechin db37db79cc Fix regression in 'make test'
The regression was introduced in 96cad841f8
on Cygwin and macOS. The MIQ_DLLNAME variable used $(@F) instead of $@.

The Jenkins setup failed to see the problem because it rebuilt
on top of existing directories that were pruned with existing libraries.

Added a second build after `git clean -dfx` in Jenkins to catch that.
2018-11-09 19:38:44 +01:00
Christophe de Dinechin cfff8871b6 Remove duplication of TESTS and BENCHMARKS in example
Probably the result of some rebase :-(
2018-11-09 19:25:29 +01:00
Christophe de Dinechin ce6b35154a Fix NEWS generation in `make dist`
Avoid overwriting existing NEWS entries for the current tag
2018-11-09 18:48:23 +01:00
Christophe de Dinechin 96cad841f8 Reorder numbering for shared libraries with extensions
On systems that rely on extensions to identify a shared library
(macOS and cygwin), then move from "libfoo.dll.1" to "libfoo.1.dll"
2018-11-09 15:45:48 +01:00
Christophe de Dinechin 6987258cab Fix cygwin DLL naming
Cygwin, like macOS, uses an extension to "recognize" something as being
a shared library. In that case, the extension is .dll.

Thinking about it, it's the naming in Linux that is illogical, in the
sense that the extension is before the count
2018-11-09 11:53:44 +01:00
Christophe de Dinechin 3574cb6d2f Add HAVE_DRAND48 check for drand48() function 2018-11-04 17:59:18 +01:00
Christophe de Dinechin b2e1f20c8b Adjustments based on recent observations made on MinGW
MinGW now seems to be able to cope with the -rpath option in ld.
However, it's necessary to place LDFLAGS after objects, as observed
with BUILDENV-specific LDFLAGS, i.e. LDFLAGS_BUILDENV_mingw=-lregex
2018-11-04 17:45:32 +01:00
Christophe de Dinechin 86fd196813 Repair the test target
Add .build target to MIQ_BUILD_TEST explicitly, to avoid one extra
step that introduces a circular dependency which breaks the test build.
2018-10-27 13:12:40 +02:00
Christophe de Dinechin e2df1851de Add missing trailing / to what is generated by configure script 2018-09-20 17:29:56 +02:00
Christophe de Dinechin 8d288a681b Avoid errors to show up when git fails (tarball case) 2018-09-20 17:18:29 +02:00
Christophe de Dinechin 7bbeb890ad Reword NEWS 2018-09-20 17:17:49 +02:00
Christophe de Dinechin 1684f58f92 Add basic 'configure' script to work with rpmbuild 2018-09-20 17:05:45 +02:00
Christophe de Dinechin 2455b1f1f7 Repair 'ar' command line case 2018-09-20 16:07:06 +02:00
Christophe de Dinechin 741ce2047c Simple implementation of the 'dist' rule
This is for better compatibility with automake-generated makefiles.
It generates a distribution tar file.
2018-09-20 15:49:53 +02:00
Christophe de Dinechin 4b5a42369d Add installcheck target for compatibility with automake-generated makefiles
This target at the moment does the same thing as check. There is no
real provision at the moment for checking the installation.
2018-09-20 15:49:06 +02:00
Christophe de Dinechin f6b87eda37 Implement the uninstall target
This is to improve compatibility with automake
2018-09-20 15:49:06 +02:00
Christophe de Dinechin 49621a97f6 Add a check for the getpeereid() function in macOS 2018-06-26 16:33:41 +02:00
Christophe de Dinechin f789c66fb7 Make sure that pkg-config output is available when testing libraries 2018-06-26 14:47:02 +02:00
Christophe de Dinechin 8533fc92ec Add x11.pc pseudo-package for macOS
The x11.pc file is missing on macOS (at least on Brew), and it was
getting annoying to add ad-hoc rules in every makefile that required
it. The hack here is to add one directly from make-it-quick.

Putting the make-it-quick directory last should ensure this solution
still works correclty if you have an actual x11.pc on your macOS system.
2018-06-19 19:09:01 +02:00
Christophe de Dinechin 425b400d69 Do not emit -L option in package if no library
A package like spice-protocol does not generate any library,
only headers, so emitting -L option generates warnings in user packages.
2018-06-19 18:38:00 +02:00
Christophe de Dinechin b42abcf3cc Add ability to put different package headers than install path
The SPICE protocol package installs headers in /usr/include/spice-1/spice,
but then returns -I/usr/include/spice-1, the code using #include <spice/blah.h>
So adding one level of indirection to deal with that case.
2018-06-19 18:19:44 +02:00
Christophe de Dinechin a71249c34d Avoid passing full names when linking LIBRARIES
While it's OK to link a library by giving its .a name, it doesn't
work well when linking with a .so, since it encodes the full path
of the .so name in the result
2018-06-15 09:38:35 +02:00
Christophe de Dinechin 10c7dcd30d Add colorized output of configuration result 2018-06-14 17:39:09 +02:00
Christophe de Dinechin bd7e23a307 Avoid possibly undefined NULL 2018-06-14 17:39:09 +02:00
Christophe de Dinechin d6f3f3cd46 Add missing packages to configuration flags
This was apparently lost in one of the recent rebases. Ouch.
2018-06-14 17:39:09 +02:00
Christophe de Dinechin 0e8c83820b Add support for shared-library versioning 2018-06-14 17:39:09 +02:00