~ubuntu-branches/ubuntu/lucid/autoconf-archive/lucid

« back to all changes in this revision

Viewing changes to m4/patch_libtool_sys_lib_search_path_spec.m4

  • Committer: Bazaar Package Importer
  • Author(s): Deng Xiyue
  • Date: 2009-05-12 17:30:18 UTC
  • mfrom: (1.1.9 upstream) (3.1.4 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090512173018-s7y88nfoxpaauztk
Tags: 20090426-1
* New upstream release.
* Update Standard-Version to 3.8.1:
  + List original Debianizer.
  + Point to versioned license file.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# =============================================================================
2
 
#  http://autoconf-archive.cryp.to/patch_libtool_sys_lib_search_path_spec.html
3
 
# =============================================================================
4
 
#
5
 
# OBSOLETE MACRO
6
 
#
7
 
#   The problem is fixed in modern libtool versions.
8
 
#
9
 
# SYNOPSIS
10
 
#
11
 
#   PATCH_LIBTOOL_SYS_LIB_SEARCH_PATH_SPEC
12
 
#
13
 
# DESCRIPTION
14
 
#
15
 
#   Cross-compiling to win32 from a unix system reveals a bug - the
16
 
#   path-separator has been set to ";" depending on the target system.
17
 
#   However, the crossgcc search_path_spec works in a unix-environment with
18
 
#   unix-style directories and unix-stylish path_separator. The result: the
19
 
#   search_path_spec is a single word still containing the ":" separators.
20
 
#
21
 
#   This macro fixes the situation: when we see the libtool PATH_SEP to be
22
 
#   ":" and search_path_spec to contain ":" characters, then these are
23
 
#   replaced with spaces to let the resulting string work as a for-loop
24
 
#   argument in libtool scripts that resolve -no-undefined libraries.
25
 
#
26
 
#   Later libtool generations have fixed the situation with using
27
 
#   $PATH_SEPARATOR in the first place as the original path delimiter that
28
 
#   will be scanned for and replaced into spaces.
29
 
#
30
 
# LAST MODIFICATION
31
 
#
32
 
#   2008-04-12
33
 
#
34
 
# COPYLEFT
35
 
#
36
 
#   Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
37
 
#
38
 
#   This program is free software; you can redistribute it and/or modify it
39
 
#   under the terms of the GNU General Public License as published by the
40
 
#   Free Software Foundation; either version 2 of the License, or (at your
41
 
#   option) any later version.
42
 
#
43
 
#   This program is distributed in the hope that it will be useful, but
44
 
#   WITHOUT ANY WARRANTY; without even the implied warranty of
45
 
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
46
 
#   Public License for more details.
47
 
#
48
 
#   You should have received a copy of the GNU General Public License along
49
 
#   with this program. If not, see <http://www.gnu.org/licenses/>.
50
 
#
51
 
#   As a special exception, the respective Autoconf Macro's copyright owner
52
 
#   gives unlimited permission to copy, distribute and modify the configure
53
 
#   scripts that are the output of Autoconf when processing the Macro. You
54
 
#   need not follow the terms of the GNU General Public License when using
55
 
#   or distributing such scripts, even though portions of the text of the
56
 
#   Macro appear in them. The GNU General Public License (GPL) does govern
57
 
#   all other use of the material that constitutes the Autoconf Macro.
58
 
#
59
 
#   This special exception to the GPL applies to versions of the Autoconf
60
 
#   Macro released by the Autoconf Macro Archive. When you make and
61
 
#   distribute a modified version of the Autoconf Macro, you may extend this
62
 
#   special exception to the GPL to apply to your modified version as well.
63
 
 
64
 
AC_DEFUN([PATCH_LIBTOOL_SYS_LIB_SEARCH_PATH_SPEC],
65
 
[# patch libtool to fix sys_lib_search_path (e.g. crosscompiling a win32 dll)
66
 
if test "_$PATH_SEPARATOR" = "_:" ; then
67
 
  if grep "^sys_lib_search_path_spec.*:" libtool >/dev/null ; then
68
 
AC_MSG_RESULT(patching libtool to fix sys_lib_search_path_spec)
69
 
    test -f libtool.old || (mv libtool libtool.old && cp libtool.old libtool)
70
 
    sed -e "/^sys_lib_search_path_spec/s/:/ /g" libtool >libtool.new
71
 
    (test -s libtool.new || rm libtool.new) 2>/dev/null
72
 
    test -f libtool.new && mv libtool.new libtool # not 2>/dev/null !!
73
 
    test -f libtool     || mv libtool.old libtool
74
 
  fi
75
 
fi
76
 
])