Reintroduce libstdc++.a target for backwards compatabilty
This commit is contained in:
parent
d0c06ec8c0
commit
d1e3c2d71e
24
Makefile
24
Makefile
|
@ -1,6 +1,11 @@
|
|||
export
|
||||
PLATFORM := $(shell uname)
|
||||
ARCH := $(shell uname -m)
|
||||
ifeq ("$(wildcard /etc/centos-release)", "")
|
||||
LIBSTDCPP_HACK = 1
|
||||
else
|
||||
LIBSTDCPP_HACK = 0
|
||||
endif
|
||||
|
||||
TOPDIR := $(shell pwd)
|
||||
|
||||
|
@ -181,6 +186,25 @@ targets:
|
|||
@for i in $(sort $(TARGETS)); do echo " $$i" ; done
|
||||
@echo "Append _clean to clean specific target."
|
||||
|
||||
lib/libstdc++.a: $(shell $(CC) -print-file-name=libstdc++_pic.a)
|
||||
@echo "Frobnicating $@"
|
||||
@mkdir -p lib
|
||||
@rm -rf .libstdc++
|
||||
@mkdir .libstdc++
|
||||
@(cd .libstdc++ && ar x $<)
|
||||
@for i in .libstdc++/*.o ; do \
|
||||
nm $$i | grep -q \@ || continue ; \
|
||||
nm $$i | awk '$$3 ~ /@@/ { COPY = $$3; sub(/@@.*/, "", COPY); print $$3, COPY; }' > .libstdc++/replacements ; \
|
||||
objcopy --redefine-syms=.libstdc++/replacements $$i $$i.new && mv $$i.new $$i ; \
|
||||
rm .libstdc++/replacements ; \
|
||||
nm $$i | awk '$$3 ~ /@/ { print $$3; }' > .libstdc++/deletes ; \
|
||||
objcopy --strip-symbols=.libstdc++/deletes $$i $$i.new && mv $$i.new $$i ; \
|
||||
rm .libstdc++/deletes ; \
|
||||
done
|
||||
@ar rcs $@ .libstdc++/*.o
|
||||
@rm -r .libstdc++
|
||||
|
||||
|
||||
docpreview: javadoc
|
||||
@echo "Generating docpreview"
|
||||
@TARGETS= $(MAKE) -C documentation docpreview
|
||||
|
|
Loading…
Reference in New Issue