| shlib_version:=$(shell $(CC) --version 2>&1 | \ |
| sed -n 's/^.*(GCC).* \([0-9]*\.[0-9.]*\).*$/\1/p' | \ |
| sed -e 's/\./,/' -e 's/\.//g') |
| SHLIB_EXT = .exe |
| SHLIB_OBJS = @shlib_objs@ |
| SHLIB_NAME = @shlib_base_name@.exe |
| SHLIB_MULTILIB = |
| SHLIB_INSTALL = $(INSTALL_DATA) $(SHLIB_NAME) $(DESTDIR)$(libsubdir)/$(SHLIB_NAME) |
| SHLIB_SYMVEC = \ |
| grep -F -e "\$$BSS\$$" -e "\$$DATA\$$" -e " sdata " -e " data.rel " -e " data.rel.ro " -e " sbss " \ |
| -e "\$$LINK\$$" -e "\$$READONLY\$$" | \ |
| sed -e "s/.*\$$LINK\$$ \(.*\)/SYMBOL_VECTOR=(\1=PROCEDURE)/" \ |
| -e "s/.*\$$DATA\$$ \(.*\)/SYMBOL_VECTOR=(\1=DATA)/" \ |
| -e "s/.* sbss \(.*\)/SYMBOL_VECTOR=(\1=DATA)/" \ |
| -e "s/.* sdata \(.*\)/SYMBOL_VECTOR=(\1=DATA)/" \ |
| -e "s/.* data.rel \(.*\)/SYMBOL_VECTOR=(\1=DATA)/" \ |
| -e "s/.* data.rel.ro \(.*\)/SYMBOL_VECTOR=(\1=DATA)/" \ |
| -e "s/.*\$$BSS\$$ \(.*\)/SYMBOL_VECTOR=(\1=DATA)/" \ |
| -e "s/.*\$$READONLY\$$ \(.*\)/SYMBOL_VECTOR=(\1=DATA)/" |
| SHLIB_LINK = \ |
| echo "case_sensitive=yes" > SYMVEC_$$$$.opt; \ |
| objdump --syms $(SHLIB_OBJS) | \ |
| $(SHLIB_SYMVEC) >> SYMVEC_$$$$.opt ; \ |
| echo "case_sensitive=NO" >> SYMVEC_$$$$.opt; \ |
| $(CC) $(LIBGCC2_CFLAGS) $(LDFLAGS) -nodefaultlibs \ |
| -shared --for-linker=/noinform -o $(SHLIB_NAME) $(SHLIB_OBJS) \ |
| --for-linker=SYMVEC_$$$$.opt \ |
| --for-linker=gsmatch=equal,$(shlib_version) |