1#************************************************************************* 2# 3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4# 5# Copyright 2000, 2010 Oracle and/or its affiliates. 6# 7# OpenOffice.org - a multi-platform office productivity suite 8# 9# This file is part of OpenOffice.org. 10# 11# OpenOffice.org is free software: you can redistribute it and/or modify 12# it under the terms of the GNU Lesser General Public License version 3 13# only, as published by the Free Software Foundation. 14# 15# OpenOffice.org is distributed in the hope that it will be useful, 16# but WITHOUT ANY WARRANTY; without even the implied warranty of 17# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18# GNU Lesser General Public License version 3 for more details 19# (a copy is included in the LICENSE file that accompanied this code). 20# 21# You should have received a copy of the GNU Lesser General Public License 22# version 3 along with OpenOffice.org. If not, see 23# <http://www.openoffice.org/license.html> 24# for a copy of the LGPLv3 License. 25# 26#************************************************************************* 27 28# Add certain symbol patterns to the first global section. 29# 30# The below code fails with 'perverted' mapfiles (using a strange line layout, 31# or containing version UDK_3_0_0 without a global section, ...). 32 33BEGIN { state = 0 } 34END { 35 if (state == 0) { 36 print "# Weak RTTI symbols for C++ exceptions:" 37 print "UDK_3_0_0 {" 38 print "global:" 39 print "_ZTI*; _ZTS*; # weak RTTI symbols for C++ exceptions" 40 if (ENVIRON["USE_SYSTEM_STL"] != "YES") 41 print "_ZN4_STL7num_put*; # for STLport" 42 print "};" 43 } 44} 45state == 2 { 46 print "_ZTI*; _ZTS*; # weak RTTI symbols for C++ exceptions" 47 if (ENVIRON["USE_SYSTEM_STL"] != "YES") 48 print "_ZN4_STL7num_put*; # for STLport" 49 state = 3 50} 51# #i66636# - ??? 52/^[\t ]*UDK_3_0_0[\t ]*\{/ { state = 1 } 53/^[\t ]*global[\t ]*:/ && state == 1 { state = 2 } 54{ print } 55