Skip to content

Commit 74681e6

Browse files
committed
Release 1.0.25
* Updated module versions in dependencies.
2 parents b6a6f24 + d213cdc commit 74681e6

32 files changed

+3753
-1144
lines changed

CHANGELOG

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
* RECENT CHANGES
33
*******************************************************************************
44

5+
=== 1.0.25 ===
6+
* Updated module versions in dependencies.
7+
58
=== 1.0.24 ===
69
* Updated module versions in dependencies.
710

include/lsp-plug.in/shared/debug.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,10 @@ namespace lsp
5353
} while (false)
5454
#else
5555
#define BIND_PORT(dst) \
56-
dst = ports[port_id++];
56+
do { dst = ports[port_id++]; } while (false)
5757

5858
#define SKIP_PORT(dst) \
59-
++port_id;
59+
do { ++port_id; } while (false)
6060
#endif /* LSP_TRACE */
6161

6262
} /* namespace lsp */

include/lsp-plug.in/shared/version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
#define LSP_PLUGINS_SHARED_MAJOR 1
2626
#define LSP_PLUGINS_SHARED_MINOR 0
27-
#define LSP_PLUGINS_SHARED_MICRO 24
27+
#define LSP_PLUGINS_SHARED_MICRO 25
2828

2929
#ifdef LSP_LLTL_LIB_BUILTIN
3030
#define LSP_PLUGINS_SHARED_EXPORT

make/configure.mk

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#
2-
# Copyright (C) 2020 Linux Studio Plugins Project <https://lsp-plug.in/>
3-
# (C) 2020 Vladimir Sadovnikov <sadko4u@gmail.com>
2+
# Copyright (C) 2024 Linux Studio Plugins Project <https://lsp-plug.in/>
3+
# (C) 2024 Vladimir Sadovnikov <sadko4u@gmail.com>
44
#
55
# This file is part of lsp-plugin-shared
66
#
@@ -21,45 +21,35 @@ ifneq ($(VERBOSE),1)
2121
.SILENT:
2222
endif
2323

24-
# Definitions
25-
PREFIX := /usr/local
26-
LIBDIR := $(PREFIX)/lib
27-
BINDIR := $(PREFIX)/bin
28-
SHAREDDIR := $(PREFIX)/share
29-
INCDIR := $(PREFIX)/include
30-
ETCDIR := /etc
3124
BASEDIR := $(CURDIR)
3225
ROOTDIR := $(CURDIR)
33-
BUILDDIR := $(BASEDIR)/.build
34-
TARGET_BUILDDIR := $(BUILDDIR)/target
35-
HOST_BUILDDIR := $(BUILDDIR)/host
36-
MODULES := $(BASEDIR)/modules
37-
CONFIG := $(BASEDIR)/.config.mk
3826
TEST := 0
3927
DEBUG := 0
4028
PROFILE := 0
4129
TRACE := 0
4230

43-
ifeq ($(DEVEL),1)
44-
X_URL_SUFFIX = _RW
45-
else
46-
X_URL_SUFFIX = _RO
47-
endif
48-
31+
# Configure system settings
4932
include $(BASEDIR)/project.mk
5033
include $(BASEDIR)/make/functions.mk
5134
include $(BASEDIR)/make/system.mk
35+
include $(BASEDIR)/make/paths.mk
5236
include $(BASEDIR)/make/tools.mk
5337
include $(BASEDIR)/modules.mk
5438
include $(BASEDIR)/dependencies.mk
5539

40+
ifeq ($(DEVEL),1)
41+
X_URL_SUFFIX = _RW
42+
else
43+
X_URL_SUFFIX = _RO
44+
endif
45+
5646
# Compute the full list of dependencies
5747
MERGED_DEPENDENCIES := \
5848
$(DEPENDENCIES) \
5949
$(TEST_DEPENDENCIES)
6050
UNIQ_MERGED_DEPENDENCIES := $(call uniq, $(MERGED_DEPENDENCIES))
6151
DEPENDENCIES = $(UNIQ_MERGED_DEPENDENCIES)
62-
FEATURES := $(call uniq, $(call subtraction,$(SUB_FEATURES),$(DEFAULT_FEATURES) $(ADD_FEATURES)))
52+
FEATURES := $(sort $(call subtraction,$(SUB_FEATURES),$(DEFAULT_FEATURES) $(ADD_FEATURES)))
6353

6454
# Determine versions
6555
ifeq ($(findstring -devel,$(ARTIFACT_VERSION)),-devel)
@@ -127,19 +117,23 @@ define _modconfig =
127117
$(if $($(name)_TEST),, $(eval $(name)_TEST := $($(name)_PATH)/test))
128118
$(if $($(name)_TESTING),, $(eval $(name)_TESTING := 0))
129119
$(if $($(name)_BIN),, $(eval $(name)_BIN := $(TARGET_BUILDDIR)/$($(name)_NAME)))
130-
$(if $($(name)_CFLAGS),, $(eval $(name)_CFLAGS := "-I\"$($(name)_INC)\"" -D$(name)_BUILTIN$(if $(publisher), -D$(name)_PUBLISHER)))
120+
$(if $($(name)_CFLAGS),, $(eval $(name)_CFLAGS := "$(if $($(name)_INC_OPT),$($(name)_INC_OPT) ,-I )\"$($(name)_INC)\"" -D$(name)_BUILTIN$(if $(publisher), -D$(name)_PUBLISHER)))
131121
$(if $($(name)_LDLAGS),, $(eval $(name)_LDFLAGS :=))
132122
$(if $($(name)_OBJ),, $(eval $(name)_OBJ := "$($(name)_BIN)/$($(name)_NAME).o"))
133123
$(if $($(name)_OBJ_TEST),, $(eval $(name)_OBJ_TEST := "$($(name)_BIN)/$($(name)_NAME)-test.o"))
134124
$(if $($(name)_MFLAGS),, $(eval $(name)_MFLAGS := $(if $(publisher),,"-D$(name)_BUILTIN -fvisibility=hidden")))
135125

126+
$(if $(HOST_$(name)_NAME),, $(eval HOST_$(name)_NAME := $($(name)_NAME)))
127+
$(if $(HOST_$(name)_DESC),, $(eval HOST_$(name)_DESC := $($(name)_DESC)))
128+
$(if $(HOST_$(name)_URL),, $(eval HOST_$(name)_URL := $($(name)_URL$(X_URL_SUFFIX))))
129+
136130
$(if $(HOST_$(name)_PATH),, $(eval HOST_$(name)_PATH := $(MODULES)/$($(name)_NAME)))
137131
$(if $(HOST_$(name)_INC),, $(eval HOST_$(name)_INC := $(HOST_$(name)_PATH)/include))
138132
$(if $(HOST_$(name)_SRC),, $(eval HOST_$(name)_SRC := $(HOST_$(name)_PATH)/src))
139133
$(if $(HOST_$(name)_TEST),, $(eval HOST_$(name)_TEST := $(HOST_$(name)_PATH)/test))
140134
$(if $(HOST_$(name)_TESTING),, $(eval HOST_$(name)_TESTING := 0))
141135
$(if $(HOST_$(name)_BIN),, $(eval HOST_$(name)_BIN := $(HOST_BUILDDIR)/$($(name)_NAME)))
142-
$(if $(HOST_$(name)_CFLAGS),, $(eval HOST_$(name)_CFLAGS := "-I\"$($(name)_INC)\"" -D$(name)_BUILTIN$(if $(publisher), -D$(name)_PUBLISHER)))
136+
$(if $(HOST_$(name)_CFLAGS),, $(eval HOST_$(name)_CFLAGS := "$(if $($(name)_INC_OPT),$($(name)_INC_OPT) ,-I )\"$($(name)_INC)\"" -D$(name)_BUILTIN$(if $(publisher), -D$(name)_PUBLISHER)))
143137
$(if $(HOST_$(name)_LDLAGS),, $(eval HOST_$(name)_LDFLAGS :=))
144138
$(if $(HOST_$(name)_OBJ),, $(eval HOST_$(name)_OBJ := "$(HOST_$(name)_BIN)/$($(name)_NAME).o"))
145139
$(if $(HOST_$(name)_OBJ_TEST),,$(eval HOST_$(name)_OBJ_TEST:= "$(HOST_$(name)_BIN)/$($(name)_NAME)-test.o"))
@@ -168,13 +162,17 @@ define hdrconfig =
168162
$(if $($(name)_PATH),, $(eval $(name)_PATH := $(MODULES)/$($(name)_NAME)))
169163
$(if $($(name)_INC),, $(eval $(name)_INC := $($(name)_PATH)/include))
170164
$(if $($(name)_TESTING),, $(eval $(name)_TESTING := 0))
171-
$(if $($(name)_CFLAGS),, $(eval $(name)_CFLAGS := "-I\"$($(name)_INC)\""$(if $(publisher), "-D$(name)_PUBLISHER")))
165+
$(if $($(name)_CFLAGS),, $(eval $(name)_CFLAGS := "$(if $($(name)_INC_OPT),$($(name)_INC_OPT) ,-I )\"$($(name)_INC)\""$(if $(publisher), "-D$(name)_PUBLISHER")))
172166
$(if $($(name)_MFLAGS),, $(eval $(name)_MFLAGS := "-D$(name)_BUILTIN -fvisibility=hidden"))
167+
168+
$(if $(HOST_$(name)_NAME),, $(eval HOST_$(name)_NAME := $($(name)_NAME)))
169+
$(if $(HOST_$(name)_DESC),, $(eval HOST_$(name)_DESC := $($(name)_DESC)))
170+
$(if $(HOST_$(name)_URL),, $(eval HOST_$(name)_URL := $($(name)_URL$(X_URL_SUFFIX))))
173171

174172
$(if $(HOST_$(name)_PATH),, $(eval HOST_$(name)_PATH := $(MODULES)/$($(name)_NAME)))
175173
$(if $(HOST_$(name)_INC),, $(eval HOST_$(name)_INC := $(HOST_$(name)_PATH)/include))
176174
$(if $(HOST_$(name)_TESTING),, $(eval HOST_$(name)_TESTING := 0))
177-
$(if $(HOST_$(name)_CFLAGS),, $(eval HOST_$(name)_CFLAGS := "-I\"$(HOST_$(name)_INC)\""$(if $(publisher), "-D$(name)_PUBLISHER")))
175+
$(if $(HOST_$(name)_CFLAGS),, $(eval HOST_$(name)_CFLAGS := "$(if $($(name)_INC_OPT),$($(name)_INC_OPT) ,-I )\"$(HOST_$(name)_INC)\""$(if $(publisher), "-D$(name)_PUBLISHER")))
178176
$(if $(HOST_$(name)_MFLAGS),, $(eval HOST_$(name)_MFLAGS := "-D$(name)_BUILTIN -fvisibility=hidden"))
179177
endef
180178

@@ -220,6 +218,7 @@ OVERALL_DEPS := $(call uniq,$(DEPENDENCIES) $(ARTIFACT_ID))
220218
__tmp := $(foreach dep,$(OVERALL_DEPS),$(call vardef, $(dep)))
221219

222220
CONFIG_VARS = \
221+
$(PATH_VARS) \
223222
$(COMMON_VARS) \
224223
$(TOOL_VARS) \
225224
$(foreach name, $(OVERALL_DEPS), \
@@ -242,6 +241,8 @@ CONFIG_VARS = \
242241
$(name)_OBJ \
243242
$(name)_OBJ_TEST \
244243
\
244+
HOST_$(name)_NAME \
245+
HOST_$(name)_DESC \
245246
HOST_$(name)_PATH \
246247
HOST_$(name)_INC \
247248
HOST_$(name)_SRC \
@@ -267,11 +268,12 @@ $(CONFIG_VARS): prepare
267268
echo "$(@)=$($(@))" >> "$(CONFIG)"
268269

269270
config: $(CONFIG_VARS)
270-
echo "Architecture: $(ARCHITECTURE_FAMILY)/$(ARCHITECTURE) ($(ARCHITECTURE_CFLAGS))"
271-
echo "Features: $(FEATURES)"
271+
echo "Host architecture: $(HOST_ARCHITECTURE_FAMILY)/$(HOST_ARCHITECTURE) ($(HOST_ARCHITECTURE_CFLAGS))"
272+
echo "Architecture: $(ARCHITECTURE_FAMILY)/$(ARCHITECTURE) ($(ARCHITECTURE_CFLAGS))"
273+
echo "Features: $(FEATURES)"
272274
echo "Configured OK"
273275

274-
help: | toolvars sysvars
276+
help: | pathvars toolvars sysvars
275277
echo ""
276278
echo "List of variables for each dependency:"
277279
echo " <ARTIFACT>_BIN location to put all binaries when building artifact"

make/functions.mk

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#
2-
# Copyright (C) 2020 Linux Studio Plugins Project <https://lsp-plug.in/>
3-
# (C) 2020 Vladimir Sadovnikov <sadko4u@gmail.com>
2+
# Copyright (C) 2024 Linux Studio Plugins Project <https://lsp-plug.in/>
3+
# (C) 2024 Vladimir Sadovnikov <sadko4u@gmail.com>
44
#
55
# This file is part of lsp-plugin-shared
66
#
@@ -45,15 +45,25 @@ cquery = $(foreach d,$(call uniq, $3),$(if $($(d)_$(strip $1)),
4545

4646
# Find intersection between two sets
4747
# $(call intersection, list1, list2)
48-
intersection = $(foreach v,$1,$(if $(findstring $(v),$2),$(v)))
48+
intersection = $(sort $(foreach v,$1,$(if $(findstring $(v),$2),$(v))))
4949

5050
# Subtract the first set from second set
5151
# $(call subtraction, list1, list2)
52-
subtraction = $(foreach v,$2,$(if $(findstring $(v),$1),,$(v)))
52+
subtraction = $(sort $(foreach v,$2,$(if $(findstring $(v),$1),,$(v))))
53+
54+
# Check feature presence in list
55+
# $(call fcheck, features-to-check, all-feature-list, action-if-enabled, action-if-disabled)
56+
fcheck = $(if $(call intersection,$1,$2),$3,$4)
5357

5458
# Fetch different versions from version string
5559
# $(call vmajor, <version-string>)
5660
vmajor = $(shell echo "$(strip $1)" | sed -E 's/([0-9]+)\.([0-9]+)\.([0-9]+)(-(.*))?/\1/')
5761
vminor = $(shell echo "$(strip $1)" | sed -E 's/([0-9]+)\.([0-9]+)\.([0-9]+)(-(.*))?/\2/')
5862
vmicro = $(shell echo "$(strip $1)" | sed -E 's/([0-9]+)\.([0-9]+)\.([0-9]+)(-(.*))?/\3/')
5963
vbranch = $(shell echo "$(strip $1)" | sed -E 's/([0-9]+)\.([0-9]+)\.([0-9]+)(-(.*))?/\5/')
64+
65+
ifeq ("$(MSYSTEM)","")
66+
pathconv = $1
67+
else
68+
pathconv = $(shell cygpath -w "$1")
69+
endif

make/modules.mk

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#
2-
# Copyright (C) 2020 Linux Studio Plugins Project <https://lsp-plug.in/>
3-
# (C) 2020 Vladimir Sadovnikov <sadko4u@gmail.com>
2+
# Copyright (C) 2024 Linux Studio Plugins Project <https://lsp-plug.in/>
3+
# (C) 2024 Vladimir Sadovnikov <sadko4u@gmail.com>
44
#
55
# This file is part of lsp-plugin-shared
66
#
@@ -45,9 +45,15 @@ UNIQ_ALL_DEPENDENCIES := $(filter-out $(ARTIFACT_ID),$(call uniq, $(ALL_DEP
4545
MODULES ?= $(BASEDIR)/modules
4646
GIT ?= git
4747

48+
ifeq ($(DEVEL),1)
49+
X_URL_SUFFIX = _RW
50+
else
51+
X_URL_SUFFIX = _RO
52+
endif
53+
4854
ifeq ($(TREE),1)
4955
$(foreach dep,$(UNIQ_ALL_DEPENDENCIES), \
50-
$(eval $(dep)_URL=$($(dep)_URL_RO)) \
56+
$(eval $(dep)_URL=$($(dep)_URL$(X_URL_SUFFIX))) \
5157
)
5258

5359
ifeq ($(findstring -devel,$(ARTIFACT_VERSION)),-devel)
@@ -80,10 +86,15 @@ $(ALL_SRC_MODULES) $(ALL_HDR_MODULES):
8086
$(GIT) -C "$($(@)_PATH)" reset --hard
8187
$(GIT) -C "$($(@)_PATH)" fetch origin --force --prune --prune-tags
8288
$(GIT) -C "$($(@)_PATH)" fetch origin 'refs/tags/*:refs/tags/*' --force
83-
$(GIT) -c advice.detachedHead=false -C "$($(@)_PATH)" checkout -B "$($(@)_BRANCH)" "origin/$($(@)_BRANCH)" || \
84-
$(GIT) -c advice.detachedHead=false -C "$($(@)_PATH)" checkout "refs/tags/$($(@)_BRANCH)" || \
85-
$(GIT) -c advice.detachedHead=false -C "$($(@)_PATH)" checkout -B "$($(@)_NAME)-$($(@)_BRANCH)" "origin/$($(@)_NAME)-$($(@)_BRANCH)" || \
86-
$(GIT) -c advice.detachedHead=false -C "$($(@)_PATH)" checkout "refs/tags/$($(@)_NAME)-$($(@)_BRANCH)"
89+
if $(GIT) -C "$($(@)_PATH)" rev-parse -q --verify "origin/$($(@)_BRANCH)" >/dev/null; then \
90+
$(GIT) -c advice.detachedHead=false -C "$($(@)_PATH)" checkout -B "$($(@)_BRANCH)" "origin/$($(@)_BRANCH)" >/dev/null; \
91+
elif $(GIT) -C "$($(@)_PATH)" rev-parse -q --verify "refs/tags/$($(@)_BRANCH)" >/dev/null; then \
92+
$(GIT) -c advice.detachedHead=false -C "$($(@)_PATH)" checkout "refs/tags/$($(@)_BRANCH)"; \
93+
elif $(GIT) -C "$($(@)_PATH)" rev-parse -q --verify "origin/$($(@)_NAME)-$($(@)_BRANCH)" >/dev/null; then \
94+
$(GIT) -c advice.detachedHead=false -C "$($(@)_PATH)" checkout -B "$($(@)_NAME)-$($(@)_BRANCH)" "origin/$($(@)_NAME)-$($(@)_BRANCH)"; \
95+
else \
96+
$(GIT) -c advice.detachedHead=false -C "$($(@)_PATH)" checkout "refs/tags/$($(@)_NAME)-$($(@)_BRANCH)"; \
97+
fi
8798

8899
fetch: $(SRC_MODULES) $(HDR_MODULES)
89100

make/paths.mk

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
#
2+
# Copyright (C) 2024 Linux Studio Plugins Project <https://lsp-plug.in/>
3+
# (C) 2024 Vladimir Sadovnikov <sadko4u@gmail.com>
4+
#
5+
# This file is part of lsp-plugin-shared
6+
#
7+
# lsp-plugin-shared is free software: you can redistribute it and/or modify
8+
# it under the terms of the GNU Lesser General Public License as published by
9+
# the Free Software Foundation, either version 3 of the License, or
10+
# any later version.
11+
#
12+
# lsp-plugin-shared is distributed in the hope that it will be useful,
13+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
14+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15+
# GNU Lesser General Public License for more details.
16+
#
17+
# You should have received a copy of the GNU Lesser General Public License
18+
# along with lsp-plugin-shared. If not, see <https://www.gnu.org/licenses/>.
19+
#
20+
21+
# Installation prefix
22+
ifndef PREFIX
23+
ifeq ($(PLATFORM),Windows)
24+
PREFIX := $(BASEDIR)/INSTALL
25+
else ifeq ($(CROSS_COMPILE),1)
26+
PREFIX := $(BASEDIR)/INSTALL
27+
else
28+
PREFIX := /usr/local
29+
endif
30+
endif
31+
32+
# Path to configuration
33+
ifndef ETCDIR
34+
ifeq ($(PLATFORM),Windows)
35+
ETCDIR := $(PREFIX)/etc
36+
else
37+
ETCDIR := /etc
38+
endif
39+
endif
40+
41+
LIBDIR := $(PREFIX)/lib
42+
BINDIR := $(PREFIX)/bin
43+
INCDIR := $(PREFIX)/include
44+
BUILDDIR := $(BASEDIR)/.build
45+
TARGET_BUILDDIR := $(BUILDDIR)/target
46+
ifeq ($(CROSS_COMPILE),1)
47+
HOST_BUILDDIR := $(BUILDDIR)/host
48+
else
49+
HOST_BUILDDIR := $(TARGET_BUILDDIR)
50+
endif
51+
MODULES := $(BASEDIR)/modules
52+
CONFIG := $(BASEDIR)/.config.mk
53+
54+
# Library prefix
55+
ifndef LIBDIR
56+
LIBDIR := $(PREFIX)/lib
57+
endif
58+
59+
# Binaries prefix
60+
ifndef BINDIR
61+
BINDIR := $(PREFIX)/bin
62+
endif
63+
64+
# Binaries prefix
65+
ifndef INCDIR
66+
INCDIR := $(PREFIX)/include
67+
endif
68+
69+
# Shared resources
70+
ifndef SHAREDDIR
71+
ifeq ($(PLATFORM),Haiku)
72+
SHAREDDIR := $(PREFIX)/data
73+
else
74+
SHAREDDIR := $(PREFIX)/share
75+
endif
76+
endif
77+
78+
# Temporary directory
79+
ifndef TEMPDIR
80+
ifeq ($(PLATFORM),Windows)
81+
TEMPDIR := $(TEMP)
82+
else
83+
TEMPDIR := /tmp
84+
endif
85+
endif
86+
87+
# Set-up list of common variables
88+
PATH_VARS = \
89+
BINDIR \
90+
BUILDDIR \
91+
ETCDIR \
92+
INCDIR \
93+
LIBDIR \
94+
PREFIX \
95+
ROOTDIR \
96+
SHAREDDIR \
97+
TEMPDIR
98+
99+
.PHONY: pathvars
100+
101+
pathvars:
102+
echo "List of available path variables:"
103+
echo " BINDIR location of the binaries"
104+
echo " BUILDDIR location of the build directory"
105+
echo " ETCDIR location of system configuration files"
106+
echo " INCDIR location of the header files"
107+
echo " LIBDIR location of the library"
108+
echo " PREFIX installation prefix for binary files"
109+
echo " SHAREDDIR location of the shared files"
110+
echo " TEMPDIR location of temporary directory"
111+
112+

0 commit comments

Comments
 (0)