]> git.donarmstrong.com Git - lilypond.git/blob - cygwin/mknetrel.libtool
(dos_to_posix)[__CYGWIN__]: Return
[lilypond.git] / cygwin / mknetrel.libtool
1 # -*- shell-script -*-
2 # mknetrel.libtool -- libtool fixups
3
4 fix_libtool_dltool () {
5     sed -i~ \
6         -e "s/^DLLTOOL=.*/DLLTOOL='$target-dlltool'/" \
7         -e "s/^DLLTOOL=/HOST_CC=gcc\nDLLTOOL=/" \
8         -e "s/^HOST_CC=/SED=sed\nHOST_CC=/" \
9         -e "s/^allow_undefined_flag=.*/allow_undefined_flag=/" \
10         $1
11 ##      -e "s@^sys_lib_dlsearch_path_spec=.*@sys_lib_dlsearch_path_spec='$cygwin_prefix/lib'@"
12 }
13
14 fix_libtool_dlopen_undefined () {
15     for i in $(find $build -name libtool); do
16         sed -i~ -e 's/\(allow_undefined_flag=.*\)unsupported/\1/' $i
17     done
18 }
19     
20 fix_libtool_script () {
21     [ $base != "libtool" ] || return 0
22     for i in $mknetrel_root/bin/$target-libtool \
23         $cygwin_prefix/bin/$target-libtool; do
24         [ -x "$i" ] && fixtool=$i
25     done
26     for i in $(find $build -name libtool); do
27         [ -n "$fixtool" ] || exit 1
28         cp --backup $fixtool $i
29     done
30 }
31
32 fix_libtool_la () {
33     # fix libtool's .la dependency_libs output for dlopen
34     for i in $inst/lib $inst/$prefix/lib; do
35         if [ -d "$i" ]; then
36             cd $i || exit 1
37             for j in $(ls -1 *.la); do
38                 sed -i~ \
39                     -e 's/ *-L *[^"'"'"' ][^"'"'"' ]*//g'\
40                     -e "s@\( \|=\|'\)\(/[^ ]*usr/lib/lib\)\([^ ']*\)\.\(a\|la\|so\)[^ ']*@\1-l\3@g"\
41                     $j
42 ##                  -e "s@\( \|=\|'\)\(cyg\)\([^ ']*\)\(\.dll.a\|.a\)[^ ']*@\1lib\3\4@g"\
43 ##                  -e "s@\( \|=\|'\)\(/usr/lib/lib\)\([^ ']*\)\.\(a\|la\|so\)[^ ']*@\1-l\3@g"\
44 ##                  -e "s@\( \|=\|'\)\(/usr/lib/lib\)\([^.]*\)\.\(a\|la\|so\)[^ ']*@\1-l\3@g"\
45 ##                  -e "s@\( \|=\|'\)\(/usr/lib/lib\)\([^.]*\)[^ ']*@\1-l\3@g"\
46 ##                  -e "s@\( \|=\|'\)\(/usr/lib/\)\(lib\)@\1\3@g"\
47 ##                  -e "s@\( \|=\)\(/usr/lib/lib\)@\1$cygwin_root\2@g"\
48 ##                  -e "s@\( \|=\)\(/usr/lib/lib\)@\1$cygwin_root\2@g"\
49 ##                  -e "s@\( \|=\)\(/usr/lib/lib\)\([^ ]*\)[.]\(a\|dll\|la\|so[^ ]*\)@-l\2@g"\
50             done
51         fi
52     done
53
54     # fix some libtool's .dll name
55     mv $inst/$prefix/lib/$dll_prefix$base-$sover $inst/$prefix/bin/$dll_prefix$base-$sover.dll
56
57     # more libtool fixups.  I love libtool.
58     sed -i~ \
59         -e "s@^dlname=.*@dlname='../bin/$dll_prefix$base-$sover.dll'@" \
60         -e "s@^library_names=.*@library_names='lib$base.dll.a'@" \
61         -e "s@^old_library=.*@old_library='lib$base.a'@" \
62         $inst/$prefix/lib/lib$base.la
63 ##      -e "s@^library_names=.*@library_names='$dll_prefix$base.dll.a'@" \
64 ##      -e "s@^old_library=.*@old_library='$dll_prefix$base.a'@" \
65 }