From bf3ebde25f7379e6d1035ae2d2edd1c5a6237cab Mon Sep 17 00:00:00 2001 From: Jade Lovelace Date: Wed, 15 Jan 2025 23:09:44 -0800 Subject: [PATCH] pkg-config: remove legacy include paths! This is a breaking change for non-migrated external clients. External users always need to use type include paths now. This is as was always planned with the include rearrangement. Change-Id: I269be91ff9f9cc94d5d3043cf3e0bdf8db1d8edb --- doc/manual/rl-next/include-rearrangement.md | 8 +++++--- lix/libcmd/lix-cmd.pc.in | 1 - lix/libexpr/lix-expr.pc.in | 1 - lix/libfetchers/lix-fetchers.pc.in | 1 - lix/libmain/lix-main.pc.in | 1 - lix/libstore/lix-store.pc.in | 1 - lix/libutil/lix-util.pc.in | 1 - lix/lix-base.pc.in | 2 +- perl/lib/Nix/Store.xs | 2 +- 9 files changed, 7 insertions(+), 11 deletions(-) diff --git a/doc/manual/rl-next/include-rearrangement.md b/doc/manual/rl-next/include-rearrangement.md index 370c40450..61fa12bb9 100644 --- a/doc/manual/rl-next/include-rearrangement.md +++ b/doc/manual/rl-next/include-rearrangement.md @@ -1,7 +1,7 @@ --- -synopsis: "Includes are now qualified with library name" +synopsis: "Includes are now qualified with library name everywhere" category: Development -cls: [2178] +cls: [2178, 2362] credits: jade --- @@ -9,9 +9,11 @@ The Lix includes have all been rearranged to be of the form `"lix/libexpr/foo.hh This was already supported externally for a migration period, but it is now being applied to all the internal usages within Lix itself. The goal of this change is to both clarify where a file is from and to avoid polluting global include paths with things like `config.h` that might conflict with other projects. +Lix 2.92 removes support for the old `"foo.hh"` include form either internally or externally (that is, via pkg-config for things linking to Lix). + For other details, see the release notes of Lix 2.90.0, under "Rename all the libraries" in Breaking Changes. -To fix an external project with sources in `src` which has a separate build directory (such that headers are in `../src` relative to where the compiler is running): +To fix an external project with sources in `src` which has a separate build directory (such that headers are in `../src` relative to where the compiler is running), use a checkout of Lix 2.91 to run the following: ``` lix_root=$HOME/lix diff --git a/lix/libcmd/lix-cmd.pc.in b/lix/libcmd/lix-cmd.pc.in index f2e3f9d5e..6b197d4d2 100644 --- a/lix/libcmd/lix-cmd.pc.in +++ b/lix/libcmd/lix-cmd.pc.in @@ -7,4 +7,3 @@ Description: Lix Package Manager (libcmd) Version: @PACKAGE_VERSION@ Requires: lix-base lix-util Libs: -L${libdir} -llixcmd -Cflags: -I${includedir}/lix/libcmd diff --git a/lix/libexpr/lix-expr.pc.in b/lix/libexpr/lix-expr.pc.in index 5e850976d..d4c2911e9 100644 --- a/lix/libexpr/lix-expr.pc.in +++ b/lix/libexpr/lix-expr.pc.in @@ -7,4 +7,3 @@ Description: Lix Package Manager (libexpr) Version: @PACKAGE_VERSION@ Requires: lix-base lix-util lix-fetchers lix-store bdw-gc Libs: -L${libdir} -llixexpr -Cflags: -I${includedir}/lix/libexpr diff --git a/lix/libfetchers/lix-fetchers.pc.in b/lix/libfetchers/lix-fetchers.pc.in index fa213b769..a0631bb11 100644 --- a/lix/libfetchers/lix-fetchers.pc.in +++ b/lix/libfetchers/lix-fetchers.pc.in @@ -7,4 +7,3 @@ Description: Lix Package Manager (libfetchers) Version: @PACKAGE_VERSION@ Requires: lix-base lix-util Libs: -L${libdir} -llixfetchers -Cflags: -I${includedir}/lix/libfetchers diff --git a/lix/libmain/lix-main.pc.in b/lix/libmain/lix-main.pc.in index 0ceaec393..fb733985e 100644 --- a/lix/libmain/lix-main.pc.in +++ b/lix/libmain/lix-main.pc.in @@ -7,4 +7,3 @@ Description: Lix Package Manager (libmain) Version: @PACKAGE_VERSION@ Requires: lix-base lix-util Libs: -L${libdir} -llixmain -Cflags: -I${includedir}/lix/libmain diff --git a/lix/libstore/lix-store.pc.in b/lix/libstore/lix-store.pc.in index 69c323a28..a8c86a230 100644 --- a/lix/libstore/lix-store.pc.in +++ b/lix/libstore/lix-store.pc.in @@ -7,4 +7,3 @@ Description: Lix Package Manager (libstore) Version: @PACKAGE_VERSION@ Requires: lix-base lix-util Libs: -L${libdir} -llixstore -llixutil -Cflags: -I${includedir}/lix/libstore diff --git a/lix/libutil/lix-util.pc.in b/lix/libutil/lix-util.pc.in index cd749aabb..9847b7ee5 100644 --- a/lix/libutil/lix-util.pc.in +++ b/lix/libutil/lix-util.pc.in @@ -7,4 +7,3 @@ Description: Lix Package Manager (libutil) Version: @PACKAGE_VERSION@ Requires: lix-base lix-util Libs: -L${libdir} -llixutil -Cflags: -I${includedir}/lix/libutil diff --git a/lix/lix-base.pc.in b/lix/lix-base.pc.in index 0c2e78bd3..58c6223f5 100644 --- a/lix/lix-base.pc.in +++ b/lix/lix-base.pc.in @@ -5,4 +5,4 @@ includedir=@includedir@ Name: Lix base Description: Lix Package Manager (config.hh fixup) Version: @PACKAGE_VERSION@ -Cflags: -I${includedir}/lix -I${includedir} +Cflags: -I${includedir} diff --git a/perl/lib/Nix/Store.xs b/perl/lib/Nix/Store.xs index 423099de0..c25a8336d 100644 --- a/perl/lib/Nix/Store.xs +++ b/perl/lib/Nix/Store.xs @@ -1,4 +1,4 @@ -#include "config.h" +#include "lix/config.h" #include "EXTERN.h" #include "perl.h"