Commit Graph

297 Commits

Author SHA1 Message Date
Christophe de Dinechin 69cfe50e48 install: Fix installation of shared libraries with links
When we generate multiple files, install the correct one first before linking.
Otherwise, the final install step is confused and one of the files ends up
missing (overwritten).

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-11-27 00:48:39 +01:00
Christophe de Dinechin 13fa0221bb Fetch config sources when installed from the correct directory
When installing in a distribution, we need the config.system-setup.mk to point
to the right directory (e.g. /usr/share/make-it-quick/config) to fetch the
sources while building.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-11-27 00:22:06 +01:00
Christophe de Dinechin 8ce736a084 tests: Time to change the test output to mention 'make-it-quick'
The project is no longer called 'build' (and has not been in a long while)

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-11-26 18:30:36 +01:00
Christophe de Dinechin 1ca933bf93 install: Do not evaluate .install unless we are installing
Since `.install` has directory dependencies on the install directories, this
results in attempts to create directories even if you don't install.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-11-26 18:30:36 +01:00
Christophe de Dinechin b05088a861 install: Move .c files under /usr/share instead of /usr/include
We cannot really put .c files under /usr/include, move them under /usr/share.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-11-26 17:28:45 +01:00
Christophe de Dinechin e690660b74 install: Place the configuration sources in the right directory
Normally, the `config` installables are intended for configuration files.
For `make-it-quick`, we override it for `.c` files that we will place under the
`config/` directory under `make-it-quick`.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-11-26 17:22:02 +01:00
Christophe de Dinechin ba8ffb4920 install: Install configuration files as data
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-11-26 17:22:02 +01:00
Christophe de Dinechin dae725575d install: Do not install license and pkgconfig files as executable
This is very similar to the problem with headers, except that in this case,
the variables for installation override were missing.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-11-26 17:20:56 +01:00
Christophe de Dinechin 21e107045a NEWS: Fix typo in release description
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-11-26 16:50:36 +01:00
Christophe de Dinechin 3d35f98bde install: Do not install headers as executables
The installable postfix for headers is `headers`, not `h`

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-11-26 16:45:56 +01:00
Christophe de Dinechin 425d12acad Release 0.3.1
A minor rename in the variables emitted by the `configure` script

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-11-26 16:24:31 +01:00
Christophe de Dinechin 7f3cc616c7 configure: Replace `IGNORED` with `CONFIGURE`
The values that are passed to the `configure` script and not immediately used by
`make-it-quick` may still be useful to someone writing a derived makefile.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-11-26 16:16:35 +01:00
Christophe de Dinechin 4df3ed83bd Fix NEWS target
A closing parenthese in variable for NEWS target was missing.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-09-24 21:04:56 +02:00
Christophe de Dinechin 0af1e32906 Release 0.3.0 - Configuration variables renaming
The major changes in this release are the renaming of the various configuration
variables for improved consistency, e.g. `PREFIX_LIB` becomes `PREFIX.lib`.
Hence the version number bump.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-09-24 17:31:06 +02:00
Christophe de Dinechin e5fd9fe039 install: Fix creation of shared library symbolic links
When installing a shared library, make sure we actually create the symbolic
links for major and minor versions.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-03-04 09:41:48 +01:00
Christophe de Dinechin 4a766a276a config: Make COLORIZE a weak variable
When running `make install COLORIZE=`, unwanted colorization would show up.
I'm not entirely sure when this regression appeared, since I used to do that.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-03-04 08:33:07 +01:00
Christophe de Dinechin bdf6542c8b install: Select which kind of files go in package subdirectory
By default, headers, share, doc, license, config and var go into a per-package
subdirectory, i.e. install in `/usr/include/my-package` or
`/usr/local/share/my-ackage`.

Binaries and libraries go at the top of the corresponding directory by default.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-02-23 11:11:53 +01:00
Christophe de Dinechin 91591b99f8 colorization: Check pipe status
Commands that were subjected to colorization would lose their exit status.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-02-16 11:08:47 +01:00
Christophe de Dinechin a044564d3a Set rpath for testing purpose with opt and debug targets
Since DYLD_LIBRARY_PATH does not work on Big Sur, it is necessary to use a
heavier hammer. So for development targets, we set the rpath to include testing
paths, which make it "work". A bit ugly.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-02-14 00:47:01 +01:00
Christophe de Dinechin 695105bbe5 docs: Udpate README.md to match installation refactoring
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-02-12 21:40:13 +01:00
Christophe de Dinechin 085a0856ee Refactor installation
- Avoid installing files that are already installed
- Use the .ext conventions for the variables names
- Only create install targets for things to install
- Create a new `INSTALLABLE` variable

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-02-12 12:10:41 +01:00
Christophe de Dinechin de73b3c76e Simplify the color filter
The color filter is now entirely based on the "true &&" prefix for build steps.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-02-11 15:32:30 +01:00
Christophe de Dinechin f717241a47 Colorize test results even if at top-level
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-02-11 13:07:16 +01:00
Christophe de Dinechin fecb3057e0 Colorize generate steps even when generating makefiles
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-02-11 08:13:16 +01:00
Christophe de Dinechin 16ab4de4f8 colorization: Put colorization of config in COLORIZE
Also standardize the size of the output of the various steps.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-02-10 23:11:48 +01:00
Christophe de Dinechin 70c9271721 Release 0.2.7
Changes since release 0.2.6
- Add configuration check for long double
- config: Add tests for _Float80 and _Float128
- Add configuration check for _Float16
- Merge pull request #3 from FreedomBen/FreedomBen-typo-fix
- Fix simple typo avaiable -> available
- More renaming using the .ext convention
- Repair installation of DLLs
- Rename MIQ_COMPILE to COMPILE-lt (for libtool)
- Replace [BUILD] with [LINK] in the output
- Make the COMPILE and LINK build steps more generic
- Rename OBJFILES to BUILD
- Replace OBJ_EXT with EXT.obj and similar for other extensions
- Add a test printout for the count-characters test
- Fix name fo test executable in example makefie

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-02-09 11:04:58 +01:00
Christophe de Dinechin 2bd0e0efdc config: Add check for long double
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-02-07 07:04:43 +01:00
Christophe de Dinechin f2b321a4be config: Add tests for _Float80 and _Float128
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-02-07 07:01:55 +01:00
Christophe de Dinechin a4c6a19e45 Add configuration check for _Float16
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2021-02-07 01:15:39 +01:00
Christophe de Dinechin 7286c04a62
Merge pull request #3 from FreedomBen/FreedomBen-typo-fix
Fix simple typo avaiable -> available
2021-01-05 20:05:45 +01:00
Ben Porter d9f7fc1419
Fix simple typo avaiable -> available 2021-01-05 09:24:44 -07:00
Christophe de Dinechin df4c924ff6 More renaming using the .ext convention
Changed more variables with the convention to use .ext rather than _EXT.
For example, replace PREFIX_DLL with PREFIX.dll.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2020-12-18 20:51:12 +01:00
Christophe de Dinechin 13ef51b35c Repair installation of DLLs
The INSTALL_DLL variable was replaced with INSTALL.dll

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2020-12-18 20:02:58 +01:00
Christophe de Dinechin c1b26009db Rename MIQ_COMPILE to COMPILE-lt (for libtool)
This is part of the ongoing effort to clarify the variable names.
These variables could be modifed by the environment.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2020-09-03 21:53:53 +02:00
Christophe de Dinechin dce5f235b7 Replace [BUILD] with [LINK] in the output
This is more standard

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2020-09-02 00:53:45 +02:00
Christophe de Dinechin 42a0bb0ac2 Make the COMPILE and LINK build steps more generic
By using names like COMPILE.c and LINK.lib, this will make it easier to
generate build rules more easily based on extensions

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2020-09-02 00:44:09 +02:00
Christophe de Dinechin 445cae64ae Rename OBJFILES to BUILD
This is more consistent with having simple names for variables. Also, this
contains all the build intermediate products, not just object files.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2020-09-01 22:11:55 +02:00
Christophe de Dinechin ff92a7386f Replace OBJ_EXT with EXT.obj and similar for other extensions
This will allow to make the code dealing with extensions more generic in the
future.

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2020-09-01 22:04:53 +02:00
Christophe de Dinechin 4344969408 Add a test printout for the count-characters test
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2020-08-28 18:06:56 +02:00
Christophe de Dinechin 5e177193d0 Fix name of test executable in example makefile
This fixes the output of the test from

    Output has 0 characters, should be 35

to

    Output has 35 characters, should be 35

Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
2020-08-28 17:35:42 +02:00
Christophe de Dinechin 57de2052a5 Fix typo in pkgconfig.pcrule generation fo includedir
Signed-off-by: Christophe de Dinechin <dinechin@redhat.com>
2020-07-06 10:31:44 +02:00
Christophe de Dinechin ab18d4ba1f Place -I options from configuration behind project's
Discovered that while compiling on a machine where some package had
installed a header file in `/usr/local/include` with the same name as
a header in the project.

With the old rules, the command line looked like:

    -I/usr/local/include ... -I/project/include

where the first option came from some pkg-config output.

This caused compilation-errors, since the `/usr/local/include` header
was preferred over the project's.
2020-03-04 21:22:56 +01:00
Christophe de Dinechin 536df86ed1 Fix typo in dependency rule for .cc files (.ccc -> .cc) 2019-05-03 19:13:55 +02:00
Christophe de Dinechin 361564380c Add blank lines to separate entries in the change log
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Suggested-by: Rick Jones <rjones@redhat.com>
2019-04-26 11:34:22 +02:00
Christophe de Dinechin 45767c46ab Release v0.2.5
- Copyright header adjustments
- Improve determination of linker when some C++ files are generated
- Add configuration check for setlinebuf
- Avoid rebuilding target product everytime
- Add feature to disable testing in specific subdirectories
- Fix rpath option to address macOS / Linux usage difference
2019-04-23 17:40:16 +02:00
Christophe de Dinechin ed303a3b61 Update .spec file for v0.2.5 2019-04-23 17:14:39 +02:00
Christophe de Dinechin 7a3a86be7c Fix the -rpath opption on Linux
On Linux, -rpath must also be given on the executable
(On macOS where I first tested, it's sufficient to use it on the libraries)
2019-04-12 22:37:35 +02:00
Christophe de Dinechin 242dcddf9e Revert "Do not generate useless -rpath options"
This reverts commit 3d25a8dcdf.
2019-04-12 21:56:10 +02:00
Christophe de Dinechin 34b4ba8909 Add RECURSE_FLAGS_xyz when building a subdirectory
This makes it possible to pass directory-dependent flags,
for example disabling tests in 'somedir' using:

    RECURSE_FLAGS_somedir=      RUN_TESTS=
2019-04-01 23:11:00 +02:00
Christophe de Dinechin 1f845c7ee5 Do not rebuild target product every time
The final product was rebuilt every time because of the rule
to create the output directory. Made it an order-only dependency.
2019-04-01 22:58:47 +02:00