Commit Graph

297 Commits

Author SHA1 Message Date
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
Christophe de Dinechin aa87d0f94b Add documentation for pkg-config file generation 2018-05-26 11:15:13 +02:00
Christophe de Dinechin 46ff3609e1 Make it possible to run the tests from local MIQ 2018-05-17 15:50:41 +02:00
Christophe de Dinechin b49f74f58b Fix the execution of tests 2018-05-17 14:30:36 +02:00
Christophe de Dinechin 261186169a Make sure we create the output directory when building, fixes #1
Reported-by: Jochen Becher <jochen_becher@gmx.de>
2018-05-17 14:30:36 +02:00
Christophe de Dinechin 7a7040ceff Do not generate a variant when building a library 2018-05-15 16:33:11 +02:00
Christophe de Dinechin 3edf56abd4 Write 'Error' in a way that our 'Error:' grep does not find it
Otherwise, the error reporting at end of build erroneously reports a number
of errors by scanning the build log.
2018-05-14 16:21:23 +02:00
Christophe de Dinechin 0dd26e708d Do not disable printing directories by default 2018-05-14 16:14:19 +02:00
Christophe de Dinechin 044d38528c Ensure that we print where we build before configuring 2018-05-09 11:36:20 +02:00
Christophe de Dinechin fd9c4a2afb Fix order-only so that it does not introduce hard dependencies
With pre-3.80 make, the rules would introduce hard dependencies
instead of order-only dependencies, leading to a complete rebuild
of everything with every 'make'
2018-05-09 11:36:06 +02:00
Christophe de Dinechin 77b5010339 Pass MIQ variable to children make 2018-05-09 11:35:38 +02:00
Christophe de Dinechin bb93d3fb7a Fix the passing of the -rpath option to the linker 2018-04-13 16:20:54 +02:00
Christophe de Dinechin 5bcfdb969d Verify the installation step in the gitlab CI 2018-04-13 15:24:51 +02:00
Christophe de Dinechin c691f04167 Add check for the 'sigaction' function
This check is easier to get in autoconf than a test for struct sigaction.
It's also more complete, since the recorder actually needs the function.
2018-04-13 15:19:18 +02:00
Christophe de Dinechin 5cda3e208b Lookup the configuration files in the right spot if MIQ not installed 2018-04-13 15:17:08 +02:00
Christophe de Dinechin 65c65d32dd Add HEADERS variable 2018-04-12 13:17:21 +02:00
Christophe de Dinechin 91c679f114 Add documentation on how to use Make-It-Quick as submodule 2018-04-12 12:39:36 +02:00
Christophe de Dinechin fc6eb82353 Remove extraneous trailing / in include path 2018-04-12 12:39:36 +02:00
Christophe de Dinechin d6cd86f615 Add more config checks (lifted from SPICE/gtk) 2018-04-12 12:39:36 +02:00
Christophe de Dinechin 0ae490d5fd Add results from pkg-config to config.h 2018-04-12 12:39:36 +02:00
Christophe de Dinechin 6dd6537407 Add a check for alloca() (moved from SPICE/common) 2018-04-10 19:11:34 +02:00
Christophe de Dinechin 87ba839cdd Simplify rules for the dependencies 2018-04-10 18:56:25 +02:00
Christophe de Dinechin 0ab021d64b A better way to run tests 2018-04-10 18:42:35 +02:00
Christophe de Dinechin e7c15a35ae Add better libtool support in config.gnu.mk
When LIBTOOL is set, then we use libtool all the way.
Otherwise, we manually perform the compile/link stages.
2018-04-10 18:40:00 +02:00
Christophe de Dinechin b678656455 Add support for generating pkg-config files 2018-04-10 18:37:37 +02:00
Christophe de Dinechin 2bcd0c9bcf Makefile rules refactoring - MIQ namespace + solidity
A number of changes in this commit:

1. Variable namespace cleanup:
   Rename non-configurable variables as MIQ_XYZ.

2. Internal target namespace cleanup
   Rename intermediate targets to begin with a dot (.)
   For example .build, .prebuild, etc.
   This impacts makefiles that hook for example to prebuild
   (now they need to hook to the .prebuild target)

3. Target, variant and build-environment variables names
   For example, dependencies on $(TARGET) moved from DEFINES_xyz
   to DEFINES_TARGET_xyz instead of DEFINES_xyz, and same thing
   for includes, sources, etc.

4. Protection of special user-level top-level targets
   A target like log-% no longer interferes with a file name such
   as log-file.c

5. Better support for multiple products
   When building foo.exe and bar.lib, there can be different
   sources for each project, i.e. $(SOURCES_foo) and $(SOURCES_bar).
2018-04-10 18:37:27 +02:00
Christophe de Dinechin 6fb78fe4ed Remove empty line 2018-04-04 12:15:54 +02:00
Christophe de Dinechin d2b03b4031 Use a wildcard for the list of configuration files to install 2018-04-04 10:32:09 +02:00
Christophe de Dinechin e0de7fd034 Install configuration sources
The configuration sources are installed in /usr[/local]/lib/make-it-quick
The config.local-setup.mk contains installation-dependent setup.
2018-04-04 10:32:09 +02:00
Christophe de Dinechin 198ad6420d Change project name to 'Make-it-Quick', and make it installable
This simplifies the management of projects using make-it-quick by
putting the makefile include files in a shared location
(typically /usr/local/include/make-it-quick)
2018-04-04 10:32:09 +02:00
Christophe de Dinechin 4d77ac826f Copyright update for 2018 2018-04-04 10:31:11 +02:00