| 1 |
if test "${ACTION}" = ""; then |
|---|
| 2 |
|
|---|
| 3 |
TARGET_BUILD_DIR="." |
|---|
| 4 |
FULL_PRODUCT_NAME="VLCKit.framework" |
|---|
| 5 |
CONTENTS_FOLDER_PATH="${FULL_PRODUCT_NAME}/Versions/A" |
|---|
| 6 |
VLC_BUILD_DIR="../../.." |
|---|
| 7 |
VLC_SRC_DIR="../../.." |
|---|
| 8 |
ACTION="build" |
|---|
| 9 |
rm -fr ${FULL_PRODUCT_NAME} |
|---|
| 10 |
|
|---|
| 11 |
|
|---|
| 12 |
elif test "${ACTION}" = "release-makefile"; then |
|---|
| 13 |
TARGET_BUILD_DIR="${build_dir}" |
|---|
| 14 |
FULL_PRODUCT_NAME="${PRODUCT}" |
|---|
| 15 |
CONTENTS_FOLDER_PATH="${FULL_PRODUCT_NAME}/Contents/MacOS" |
|---|
| 16 |
VLC_BUILD_DIR="${build_dir}" |
|---|
| 17 |
VLC_SRC_DIR="${src_dir}" |
|---|
| 18 |
ACTION="build" |
|---|
| 19 |
RELEASE_MAKEFILE="yes" |
|---|
| 20 |
fi |
|---|
| 21 |
|
|---|
| 22 |
if test "${ACTION}" = "build"; then |
|---|
| 23 |
lib="lib" |
|---|
| 24 |
modules="modules" |
|---|
| 25 |
share="share" |
|---|
| 26 |
include="include" |
|---|
| 27 |
target="${TARGET_BUILD_DIR}/${CONTENTS_FOLDER_PATH}" |
|---|
| 28 |
target_lib="${target}/${lib}" |
|---|
| 29 |
target_modules="${target}/${modules}" |
|---|
| 30 |
target_share="${target}/${share}" |
|---|
| 31 |
target_include="${target}/${include}" |
|---|
| 32 |
linked_libs=" " |
|---|
| 33 |
|
|---|
| 34 |
|
|---|
| 35 |
|
|---|
| 36 |
|
|---|
| 37 |
|
|---|
| 38 |
|
|---|
| 39 |
install_library() { |
|---|
| 40 |
|
|---|
| 41 |
if [ ${3} = "library" ]; then |
|---|
| 42 |
local install_name="@loader_path/lib" |
|---|
| 43 |
elif [ ${3} = "module" ]; then |
|---|
| 44 |
local install_name="@loader_path/modules" |
|---|
| 45 |
fi |
|---|
| 46 |
if [ "${5}" != "" ]; then |
|---|
| 47 |
local lib_dest="${2}/${5}" |
|---|
| 48 |
else |
|---|
| 49 |
local lib_dest="${2}/`basename ${1}`" |
|---|
| 50 |
fi |
|---|
| 51 |
|
|---|
| 52 |
if [ "${4}" != "" ]; then |
|---|
| 53 |
local lib_install_prefix="${4}" |
|---|
| 54 |
else |
|---|
| 55 |
local lib_install_prefix="@loader_path/../lib" |
|---|
| 56 |
fi |
|---|
| 57 |
|
|---|
| 58 |
if test -e ${1} && ((! test -e ${lib_dest}) || test ${1} -nt ${lib_dest} ); then |
|---|
| 59 |
|
|---|
| 60 |
mkdir -p ${2} |
|---|
| 61 |
|
|---|
| 62 |
|
|---|
| 63 |
install -m 644 ${1} ${lib_dest} |
|---|
| 64 |
|
|---|
| 65 |
|
|---|
| 66 |
echo "Installing ${3} `basename ${lib_dest}`" |
|---|
| 67 |
|
|---|
| 68 |
if [ "${3}" != "bin" ]; then |
|---|
| 69 |
|
|---|
| 70 |
install_name_tool -id "${install_name}/`basename ${lib_dest}`" ${lib_dest} > /dev/null |
|---|
| 71 |
fi |
|---|
| 72 |
|
|---|
| 73 |
|
|---|
| 74 |
for linked_lib in `otool -L ${lib_dest} | grep '(' | sed 's/\((.*)\)//'`; do |
|---|
| 75 |
local name=`basename ${linked_lib}` |
|---|
| 76 |
case "${linked_lib}" in |
|---|
| 77 |
*/vlc_build_dir/* | *vlc* | */extras/contrib/lib/*) |
|---|
| 78 |
if test -e ${linked_lib}; then |
|---|
| 79 |
install_name_tool -change "$linked_lib" "${lib_install_prefix}/${name}" "${lib_dest}" |
|---|
| 80 |
linked_libs="${linked_libs} ${ref_lib}" |
|---|
| 81 |
install_library ${linked_lib} ${target_lib} "library" |
|---|
| 82 |
fi |
|---|
| 83 |
;; |
|---|
| 84 |
esac |
|---|
| 85 |
done |
|---|
| 86 |
fi |
|---|
| 87 |
} |
|---|
| 88 |
|
|---|
| 89 |
|
|---|
| 90 |
|
|---|
| 91 |
prefix=".libs/" |
|---|
| 92 |
suffix="dylib" |
|---|
| 93 |
|
|---|
| 94 |
|
|---|
| 95 |
|
|---|
| 96 |
if [ "$FULL_PRODUCT_NAME" = "VLC-release.app" ] ; then |
|---|
| 97 |
install_library "${VLC_BUILD_DIR}/bin/${prefix}vlc" "${target}" "bin" "@loader_path/lib" |
|---|
| 98 |
mv ${target}/vlc ${target}/VLC |
|---|
| 99 |
chmod +x ${target}/VLC |
|---|
| 100 |
elif [ "$FULL_PRODUCT_NAME" = "VLC-release.app" ] ; then |
|---|
| 101 |
install_library "${VLC_BUILD_DIR}/src/${prefix}npvlc.${suffix}" "${target}" "bin" "@loader_path/lib" |
|---|
| 102 |
mv ${target}/npvlc.${suffix} "${target}/VLC Plugin.plugin" |
|---|
| 103 |
chmod +x "${target}/VLC Plugin.plugin" |
|---|
| 104 |
fi |
|---|
| 105 |
|
|---|
| 106 |
|
|---|
| 107 |
|
|---|
| 108 |
echo "Building modules folder..." |
|---|
| 109 |
|
|---|
| 110 |
for module in `find ${VLC_BUILD_DIR}/modules -name *.${suffix}` ; do |
|---|
| 111 |
|
|---|
| 112 |
if test -n ${module}; then |
|---|
| 113 |
install_library ${module} ${target_modules} "module" |
|---|
| 114 |
fi |
|---|
| 115 |
done |
|---|
| 116 |
|
|---|
| 117 |
|
|---|
| 118 |
|
|---|
| 119 |
|
|---|
| 120 |
|
|---|
| 121 |
mkdir -p ${target_lib} |
|---|
| 122 |
mkdir -p ${target_modules} |
|---|
| 123 |
|
|---|
| 124 |
if [ "$RELEASE_MAKEFILE" != "yes" ] ; then |
|---|
| 125 |
pushd `pwd` > /dev/null |
|---|
| 126 |
cd ${TARGET_BUILD_DIR}/${FULL_PRODUCT_NAME} |
|---|
| 127 |
|
|---|
| 128 |
ln -sf Versions/Current/${lib} . |
|---|
| 129 |
ln -sf Versions/Current/${modules} . |
|---|
| 130 |
ln -sf Versions/Current/${include} . |
|---|
| 131 |
ln -sf Versions/Current/${share} . |
|---|
| 132 |
|
|---|
| 133 |
popd > /dev/null |
|---|
| 134 |
fi |
|---|
| 135 |
|
|---|
| 136 |
|
|---|
| 137 |
|
|---|
| 138 |
echo "Building library folder... ${linked_libs}" |
|---|
| 139 |
for linked_lib in ${linked_libs} ; do |
|---|
| 140 |
case "${linked_lib}" in |
|---|
| 141 |
*/extras/contrib/lib/*.dylib|*/vlc_install_dir/lib/*.dylib) |
|---|
| 142 |
if test -e ${linked_lib}; then |
|---|
| 143 |
install_library ${linked_lib} ${target_lib} "library" |
|---|
| 144 |
fi |
|---|
| 145 |
;; |
|---|
| 146 |
esac |
|---|
| 147 |
done |
|---|
| 148 |
|
|---|
| 149 |
install_library "${VLC_BUILD_DIR}/src/${prefix}libvlc.dylib" ${target_lib} "library" |
|---|
| 150 |
|
|---|
| 151 |
|
|---|
| 152 |
|
|---|
| 153 |
echo "Building share folder..." |
|---|
| 154 |
pbxcp="/Developer/Library/PrivateFrameworks/DevToolsCore.framework/Resources/pbxcp -exclude .DS_Store -resolve-src-symlinks" |
|---|
| 155 |
mkdir -p ${target_share} |
|---|
| 156 |
$pbxcp ${VLC_SRC_DIR}/share/lua ${target_share} |
|---|
| 157 |
|
|---|
| 158 |
|
|---|
| 159 |
|
|---|
| 160 |
echo "Exporting headers..." |
|---|
| 161 |
mkdir -p ${target_include}/vlc |
|---|
| 162 |
$pbxcp ${VLC_SRC_DIR}/include/vlc/*.h ${target_include}/vlc |
|---|
| 163 |
|
|---|
| 164 |
fi |
|---|