summaryrefslogtreecommitdiff
path: root/bin/lo-all-static-libs
blob: 8cef48656c5fb65f6f29890434fa708a90cb0ed6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/bin/sh

# Output a list of all our (static) libraries, to be used when
# building the single executable or single dynamic object that is used
# in an LO-based iOS or Android app. (All our libraries and bundled
# 3rd-party ones are built as static archives for these platforms.)

# This script is to be run once a full "make" for iOS or Android has
# otherwise completed, when just building the actual apps is left.

if test -z "$INSTDIR" ; then
    echo This script should be invoked only in a build.
    exit 1
fi

if test "$OS" != ANDROID -a "$OS" != IOS; then
    echo This script makes sense only in Android or iOS builds.
fi

foolibs=
for var in EBOOK_LIBS FREEHAND_LIBS HARFBUZZ_LIBS HUNSPELL_LIBS HYPHEN_LIB MYTHES_LIBS; do
    dirs=
    libs=
    for i in `eval echo '$'$var`; do
	case "$i" in
	-L*) dirs="$dirs ${i#-L}";;
        -l*) libs="$libs ${i#-l}";;
	esac
    done
    for l in $libs; do
	for d in $dirs; do
	    test -f $d/lib$l.a && foolibs="$foolibs $d/lib$l.a"
	done
    done
done

case $OS in
ANDROID)
    oslibs="$WORKDIR/UnpackedTarball/curl/lib/.libs/*.a"
    oslibs="$oslibs $WORKDIR/UnpackedTarball/fontconfig/src/.libs/libfontconfig.a"
    oslibs="$oslibs $WORKDIR/UnpackedTarball/freetype/objs/.libs/libfreetype.a"
    # Only liblo-bootstrap.a ends up here:
    oslibs="$oslibs $WORKDIR/LinkTarget/Library/lib*.a"
    ;;
IOS)
    oslibs="$WORKDIR/UnpackedTarball/icu/source/stubdata/*.a"
    oslibs="$oslibs $WORKDIR/UnpackedTarball/xmlsec/src/.libs/*.a"
    oslibs="$oslibs $WORKDIR/UnpackedTarball/xmlsec/src/nss/.libs/*.a"

    # The NSS dylibs (which we don't build for iOS) are constructed
    # from a bunch of static archives and some freestanding object
    # files (that are not present in any of the static archives). We
    # need the latter too, so collect them here into an archive of
    # their own.
    ar cr $WORKDIR/UnpackedTarball/nss/nss/lib/ckfw/builtins/out/libLOtemp.a \
        $WORKDIR/UnpackedTarball/nss/nss/lib/ckfw/builtins/out/*.o \
        $WORKDIR/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/*.o

    nsslibs=`find $WORKDIR/UnpackedTarball/nss -name 'lib*.a'`
    ;;
*)
    oslibs=
    ;;
esac

echo $INSTDIR/$LIBO_LIB_FOLDER/lib*.a \
     $foolibs \
     $WORKDIR/LinkTarget/StaticLibrary/lib*.a \
     $oslibs \
     $nsslibs \
     $WORKDIR/UnpackedTarball/coinmp/Cbc/src/.libs/*.a \
     $WORKDIR/UnpackedTarball/coinmp/Cgl/src/.libs/*.a \
     $WORKDIR/UnpackedTarball/coinmp/Clp/src/.libs/*.a \
     $WORKDIR/UnpackedTarball/coinmp/Clp/src/OsiClp/.libs/*.a \
     $WORKDIR/UnpackedTarball/coinmp/CoinMP/src/.libs/*.a \
     $WORKDIR/UnpackedTarball/coinmp/CoinUtils/src/.libs/*.a \
     $WORKDIR/UnpackedTarball/coinmp/Osi/src/Osi/.libs/*.a \
     $WORKDIR/UnpackedTarball/glew/lib/*.a \
     $WORKDIR/UnpackedTarball/icu/source/lib/*.a \
     $WORKDIR/UnpackedTarball/lcms2/src/.libs/*.a \
     $WORKDIR/UnpackedTarball/libabw/src/lib/.libs/*.a \
     $WORKDIR/UnpackedTarball/libcdr/src/lib/.libs/*.a \
     $WORKDIR/UnpackedTarball/libmspub/src/lib/.libs/*.a \
     $WORKDIR/UnpackedTarball/libmwaw/src/lib/.libs/*.a \
     $WORKDIR/UnpackedTarball/libodfgen/src/.libs/*.a \
     $WORKDIR/UnpackedTarball/liborcus/src/*/.libs/*.a \
     $WORKDIR/UnpackedTarball/libvisio/src/lib/.libs/*.a \
     $WORKDIR/UnpackedTarball/libwp?/src/lib/.libs/*.a \
     $WORKDIR/UnpackedTarball/openssl/*.a \
     $WORKDIR/UnpackedTarball/raptor/src/.libs/*.a \
     $WORKDIR/UnpackedTarball/rasqal/src/.libs/*.a \
     $WORKDIR/UnpackedTarball/redland/src/.libs/*.a \
     $WORKDIR/UnpackedTarball/xml2/.libs/*.a \
     $WORKDIR/UnpackedTarball/xslt/libxslt/.libs/*.a