* Makeconfig (soversions.i): New target, input-reading parts of
soversions.mk generation moved here; result is a canonicalized list "LIB VERSION [SET]" for this configuration. (soversions.mk): Use that as input. Don't emit map-firstversions. * Makerules (version-renames.def): New target, generated from soversions.i with contents that was in $(map-firstversions). (Versions.all): Don't depend on soversions.mk, depend on version-renames.def instead; just cat it into the input.
This commit is contained in:
parent
6b3c3a3525
commit
ba7e89ec33
|
@ -1,5 +1,14 @@
|
||||||
2000-03-19 Roland McGrath <roland@baalperazim.frob.com>
|
2000-03-19 Roland McGrath <roland@baalperazim.frob.com>
|
||||||
|
|
||||||
|
* Makeconfig (soversions.i): New target, input-reading parts of
|
||||||
|
soversions.mk generation moved here; result is a canonicalized
|
||||||
|
list "LIB VERSION [SET]" for this configuration.
|
||||||
|
(soversions.mk): Use that as input. Don't emit map-firstversions.
|
||||||
|
* Makerules (version-renames.def): New target, generated from
|
||||||
|
soversions.i with contents that was in $(map-firstversions).
|
||||||
|
(Versions.all): Don't depend on soversions.mk, depend on
|
||||||
|
version-renames.def instead; just cat it into the input.
|
||||||
|
|
||||||
* Makerules (Versions.all): Use $(foreach ...) instead of sh for loop
|
* Makerules (Versions.all): Use $(foreach ...) instead of sh for loop
|
||||||
for $(map-firstversions), which better handles it being empty.
|
for $(map-firstversions), which better handles it being empty.
|
||||||
|
|
||||||
|
|
56
Makeconfig
56
Makeconfig
|
@ -676,36 +676,32 @@ ifeq (yes, $(build-shared))
|
||||||
ifeq ($(sysd-sorted-done),t)
|
ifeq ($(sysd-sorted-done),t)
|
||||||
-include $(common-objpfx)soversions.mk
|
-include $(common-objpfx)soversions.mk
|
||||||
ifndef avoid-generated
|
ifndef avoid-generated
|
||||||
$(common-objpfx)soversions.mk: $(..)shlib-versions $(..)Makeconfig \
|
$(common-objpfx)soversions.i: $(..)shlib-versions $(..)Makeconfig \
|
||||||
$(wildcard $(patsubst %, $(..)%/shlib-versions,\
|
$(wildcard $(patsubst %, $(..)%/shlib-versions,\
|
||||||
$(add-ons) \
|
$(add-ons) \
|
||||||
$(subdirs))) \
|
$(subdirs))) \
|
||||||
$(common-objpfx)config.make
|
$(common-objpfx)config.make
|
||||||
(file="$(wildcard $(patsubst %,$(..)%/shlib-versions,$(add-ons))) \
|
sed -e 's/#.*$$//;s/^[ ]*%/#/' \
|
||||||
$(wildcard $(patsubst %,$(..)%/shlib-versions,$(subdirs))) \
|
$(filter-out $(..)Makeconfig $(common-objpfx)config.make,$^) \
|
||||||
$(..)shlib-versions"; \
|
| $(CC) -include $(common-objpfx)config.h -E -x c - \
|
||||||
for f in $$file; do \
|
| while read conf version setname; do \
|
||||||
sed 's/#.*$$//;s/^[ ]*%/#/' $$f \
|
test -n "$$version" && \
|
||||||
| $(CC) -include $(common-objpfx)config.h -E -x c - \
|
test `expr '$(config-machine)-$(config-vendor)-$(config-os)' \
|
||||||
| while read conf version setname; do \
|
: "$$conf"` != 0 || continue; \
|
||||||
test -n "$$version" && \
|
lib=`echo $$version | sed 's/=.*$$//'`; \
|
||||||
test `expr '$(config-machine)-$(config-vendor)-$(config-os)' \
|
number=`echo $$version | sed "s/^.*=//"`; \
|
||||||
: "$$conf"` != 0 || continue; \
|
echo $$lib $$number $$setname; \
|
||||||
lib=`echo $$version | sed 's/=.*$$//'`; \
|
done > $@T; exit 0
|
||||||
if eval "test -z \"\$$versioners_lib$$lib\""; then \
|
mv -f $@T $@
|
||||||
eval vers_lib$${lib}=yes; \
|
$(common-objpfx)soversions.mk: $(common-objpfx)soversions.i
|
||||||
number=`echo $$version | sed "s/^.*=//"`; \
|
while read lib number setname; do \
|
||||||
case $$number in \
|
case $$number in \
|
||||||
[0-9]*) echo "$$lib.so-version=.$$number"; \
|
[0-9]*) echo "$$lib.so-version=.$$number"; \
|
||||||
echo "all-sonames+=$$lib.so\$$($$lib.so-version)";;\
|
echo "all-sonames+=$$lib.so\$$($$lib.so-version)";;\
|
||||||
*) echo "$$lib.so-version=$$number"; \
|
*) echo "$$lib.so-version=$$number"; \
|
||||||
echo "all-sonames+=\$$($$lib.so-version)";; \
|
echo "all-sonames+=\$$($$lib.so-version)";;\
|
||||||
esac; \
|
esac; \
|
||||||
test -z "$$setname" || \
|
done < $< > $@T; exit 0
|
||||||
echo "map-firstversions+=$${lib}:$${setname}"; \
|
|
||||||
fi; \
|
|
||||||
done; \
|
|
||||||
done;) > $@T; exit 0
|
|
||||||
mv -f $@T $@
|
mv -f $@T $@
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
13
Makerules
13
Makerules
|
@ -290,13 +290,16 @@ ifneq ($(sysd-versions-subdirs),$(all-subdirs) $(config-sysdirs))
|
||||||
sysd-versions-force = FORCE
|
sysd-versions-force = FORCE
|
||||||
FORCE:
|
FORCE:
|
||||||
endif
|
endif
|
||||||
|
$(common-objpfx)version-renames.def: $(common-objpfx)soversions.i
|
||||||
|
while read lib version setname; do \
|
||||||
|
test -z "$$setname" || echo "$$lib : $$setname"; \
|
||||||
|
done < $< > $@T; exit 0
|
||||||
|
mv -f $@T $@
|
||||||
$(common-objpfx)Versions.all: $(..)scripts/firstversions.awk \
|
$(common-objpfx)Versions.all: $(..)scripts/firstversions.awk \
|
||||||
|
$(common-objpfx)version-renames.def \
|
||||||
$(..)Versions.def \
|
$(..)Versions.def \
|
||||||
$(wildcard $(add-ons:%=$(..)%/Versions.def)) \
|
$(wildcard $(add-ons:%=$(..)%/Versions.def))
|
||||||
$(common-objpfx)soversions.mk
|
cat $(filter-out $<,$^) | LC_ALL=C $(AWK) -f $< > $@T
|
||||||
{ $(foreach map,$(map-firstversions),echo '$(subst :, : ,$(map))';) \
|
|
||||||
cat $(filter-out $< $(common-objpfx)soversions.mk,$^); \
|
|
||||||
} | LC_ALL=C $(AWK) -f $< > $@T
|
|
||||||
mv -f $@T $@
|
mv -f $@T $@
|
||||||
$(common-objpfx)sysd-versions: $(common-objpfx)Versions.all \
|
$(common-objpfx)sysd-versions: $(common-objpfx)Versions.all \
|
||||||
$(..)scripts/versions.awk \
|
$(..)scripts/versions.awk \
|
||||||
|
|
Loading…
Reference in a new issue