Commit 3d167209 authored by Tom Lane's avatar Tom Lane

Make the .DEF file generation rules safe against tabs in exports.txt.

Per bug #5016, although I think the MSVC build scripts may need a similar fix.
parent 53af86c5
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
# Copyright (c) 1998, Regents of the University of California # Copyright (c) 1998, Regents of the University of California
# #
# IDENTIFICATION # IDENTIFICATION
# $PostgreSQL: pgsql/src/Makefile.shlib,v 1.121 2009/08/26 22:24:42 petere Exp $ # $PostgreSQL: pgsql/src/Makefile.shlib,v 1.122 2009/08/27 17:55:53 tgl Exp $
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
# SHLIB_LINK If shared library relies on other libraries, # SHLIB_LINK If shared library relies on other libraries,
# additional stuff to put in its link command # additional stuff to put in its link command
# SHLIB_EXPORTS (optional) Name of file containing list of symbols to # SHLIB_EXPORTS (optional) Name of file containing list of symbols to
# export # export, in the format "function_name number"
# #
# When building a shared library, the following version information # When building a shared library, the following version information
# must also be set. It should be omitted when building a dynamically # must also be set. It should be omitted when building a dynamically
...@@ -444,22 +444,22 @@ $(srcdir)/lib$(NAME)dll.def: $(SHLIB_EXPORTS) ...@@ -444,22 +444,22 @@ $(srcdir)/lib$(NAME)dll.def: $(SHLIB_EXPORTS)
echo '; DEF file for MS VC++' >$@ echo '; DEF file for MS VC++' >$@
echo 'LIBRARY LIB$(UC_NAME)' >>$@ echo 'LIBRARY LIB$(UC_NAME)' >>$@
echo 'EXPORTS' >>$@ echo 'EXPORTS' >>$@
sed -e '/^#/d' -e 's/^\(.* \)\([0-9][0-9]*\)/ \1@ \2/' $< >>$@ sed -e '/^#/d' -e 's/^\(.*[ ]\)\([0-9][0-9]*\)/ \1@ \2/' $< >>$@
$(srcdir)/lib$(NAME)ddll.def: $(SHLIB_EXPORTS) $(srcdir)/lib$(NAME)ddll.def: $(SHLIB_EXPORTS)
echo '; DEF file for MS VC++' >$@ echo '; DEF file for MS VC++' >$@
echo 'LIBRARY LIB$(UC_NAME)D' >>$@ echo 'LIBRARY LIB$(UC_NAME)D' >>$@
echo 'EXPORTS' >>$@ echo 'EXPORTS' >>$@
sed -e '/^#/d' -e 's/^\(.* \)\([0-9][0-9]*\)/ \1@ \2/' $< >>$@ sed -e '/^#/d' -e 's/^\(.*[ ]\)\([0-9][0-9]*\)/ \1@ \2/' $< >>$@
$(srcdir)/blib$(NAME)dll.def: $(SHLIB_EXPORTS) $(srcdir)/blib$(NAME)dll.def: $(SHLIB_EXPORTS)
echo '; DEF file for Borland C++ Builder' >$@ echo '; DEF file for Borland C++ Builder' >$@
echo 'LIBRARY BLIB$(UC_NAME)' >>$@ echo 'LIBRARY BLIB$(UC_NAME)' >>$@
echo 'EXPORTS' >>$@ echo 'EXPORTS' >>$@
sed -e '/^#/d' -e 's/^\(.* \)\([0-9][0-9]*\)/ _\1@ \2/' $< >>$@ sed -e '/^#/d' -e 's/^\(.*[ ]\)\([0-9][0-9]*\)/ _\1@ \2/' $< >>$@
echo >>$@ echo >>$@
echo '; Aliases for MS compatible names' >> $@ echo '; Aliases for MS compatible names' >> $@
sed -e '/^#/d' -e 's/^\(.* \)\([0-9][0-9]*\)/ \1= _\1/' $< | sed 's/ *$$//' >>$@ sed -e '/^#/d' -e 's/^\(.*[ ]\)\([0-9][0-9]*\)/ \1= _\1/' $< | sed 's/ *$$//' >>$@
endif # SHLIB_EXPORTS endif # SHLIB_EXPORTS
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment