Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
9afe6008
Commit
9afe6008
authored
Feb 01, 2008
by
Pierre d'Herbemont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MacOSX/Framework/Pre-Compile.sh: Support the VLC-release.app target.
parent
3e75c8bc
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
57 additions
and
28 deletions
+57
-28
extras/MacOSX/Framework/Pre-Compile.sh
extras/MacOSX/Framework/Pre-Compile.sh
+57
-28
No files found.
extras/MacOSX/Framework/Pre-Compile.sh
View file @
9afe6008
...
...
@@ -10,6 +10,16 @@ if test "${ACTION}" = ""; then
# Debug --
fi
# Hack to use that script with the current VLC-release.app
if
test
"
${
ACTION
}
"
=
"VLC-release.app"
;
then
TARGET_BUILD_DIR
=
"
${
build_dir
}
"
FULL_PRODUCT_NAME
=
"VLC-release.app"
CONTENTS_FOLDER_PATH
=
"
${
FULL_PRODUCT_NAME
}
/Contents/MacOS"
VLC_BUILD_DIR
=
"
${
build_dir
}
"
VLC_SRC_DIR
=
"
${
src_dir
}
"
ACTION
=
"build"
fi
if
test
"
${
ACTION
}
"
=
"build"
;
then
vlc_config
=
"
${
VLC_SRC_DIR
}
/vlc-config"
lib
=
"lib"
...
...
@@ -22,47 +32,59 @@ if test "${ACTION}" = "build"; then
linked_libs
=
" "
##########################
# @function install_library(src_lib, dest_dir)
# @function install_library(src_lib, dest_dir
, type, lib_install_prefix, destination_name
)
# @description Installs the specified library into the destination folder, automatically changes the references to dependencies
# @param src_lib source library to copy to the destination directory
# @param dest_dir destination directory where the src_lib should be copied to
install_library
()
{
if
[
${
3
}
=
"library"
]
;
then
install_name
=
"@loader_path/lib"
el
se
el
if
[
${
3
}
=
"module"
]
;
then
install_name
=
"@loader_path/modules"
fi
if
[
"
${
4
}
"
!=
""
]
;
then
lib_dest
=
"
${
2
}
/
${
4
}
"
if
[
"
${
5
}
"
!=
""
]
;
then
lib_dest
=
"
${
2
}
/
${
5
}
"
else
lib_dest
=
"
${
2
}
/
`
basename
${
1
}
`
"
fi
if
[
"
${
4
}
"
!=
""
]
;
then
lib_install_prefix
=
"
${
4
}
"
else
lib_install_prefix
=
"@loader_path/../lib"
fi
if
test
-e
${
1
}
&&
((!
test
-e
${
lib_dest
}
)
||
test
${
1
}
-nt
${
lib_dest
}
)
;
then
mkdir
-p
${
2
}
# Lets copy the library from the source folder to our new destination folder
cp
${
1
}
${
lib_dest
}
install
-m
644
${
1
}
${
lib_dest
}
# Update the dynamic library so it will know where to look for the other libraries
echo
"Installing
${
3
}
`
basename
${
lib_dest
}
`
"
if
[
"
${
3
}
"
!=
"bin"
]
;
then
# Change the reference of libvlc.1 stored in the usr directory to libvlc.dylib in the framework's library directory
install_name_tool
-change
/usr/local/lib/libvlc.1.dylib @loader_path/../lib/libvlc.dylib
${
lib_dest
}
install_name_tool
-change
@executable_path/lib/vlc_libintl.dylib @loader_path/../lib/vlc_libintl.dylib
${
lib_dest
}
install_name_tool
-id
"
${
install_name
}
/
`
basename
${
lib_dest
}
`
"
${
lib_dest
}
install_name_tool
-id
"
${
install_name
}
/
`
basename
${
lib_dest
}
`
"
${
lib_dest
}
>
/dev/null
fi
# Iterate through each installed library and modify the references to other dynamic libraries to match the framework's library directory
for
linked_lib
in
`
otool
-L
${
lib_dest
}
|
grep
'('
|
sed
's/\((.*)\)//'
`
;
do
ref_lib
=
`
echo
"
${
linked_lib
}
"
|
sed
's:executable_path/:loader_path/../:'
`
name
=
`
basename
${
linked_lib
}
`
case
"
${
linked_lib
}
"
in
*
/vlc_install_dir/lib/
*
|
*
/extras/contrib/lib/
*
)
if
test
-e
${
linked_lib
}
;
then
install_name_tool
-change
${
linked_lib
}
"
${
lib_install_prefix
}
/
${
name
}
"
${
lib_dest
}
linked_libs
=
"
${
linked_libs
}
${
ref_lib
}
"
if
test
"
${
ref_lib
}
"
!=
"
${
linked_lib
}
"
;
then
install_name_tool
-change
${
linked_lib
}
${
ref_lib
}
${
lib_dest
}
install_library
${
linked_lib
}
${
target_lib
}
"library"
fi
if
test
`
echo
"
${
ref_lib
}
"
|
grep
"^@loader_path"
`
;
then
linked_libs
=
"
${
linked_libs
}
${
ref_lib
}
"
fi
;
;;
*
)
;;
esac
done
fi
}
...
...
@@ -103,14 +125,15 @@ if test "${ACTION}" = "build"; then
echo
"Building library folder..."
for
linked_lib
in
${
linked_libs
}
;
do
case
"
${
linked_lib
}
"
in
@loader_path/../lib/
*
)
ref_lib
=
`
echo
${
linked_lib
}
|
sed
's:@loader_path/../lib/::'
`
if
test
-e
${
VLC_BUILD_DIR
}
/extras/contrib/vlc-lib/
${
ref_lib
}
;
then
src_lib
=
${
VLC_BUILD_DIR
}
/extras/contrib/vlc-lib/
${
ref_lib
}
elif
test
-e
${
VLC_BUILD_DIR
}
/src/.libs/
${
ref_lib
}
;
then
src_lib
=
${
VLC_BUILD_DIR
}
/src/.libs/
${
ref_lib
}
*
/extras/contrib/lib/
*
.dylib
)
if
test
-e
${
linked_lib
}
;
then
install_library
${
linked_lib
}
${
target_lib
}
"library"
fi
;;
*
/vlc_install_dir/lib/
*
.dylib
)
if
test
-e
${
linked_lib
}
;
then
install_library
${
linked_lib
}
${
target_lib
}
"library"
fi
install_library
${
src_lib
}
${
target_lib
}
"library"
;;
esac
done
...
...
@@ -118,6 +141,12 @@ if test "${ACTION}" = "build"; then
install_library
"
${
VLC_BUILD_DIR
}
/src/.libs/libvlc-control.dylib"
${
target_lib
}
"library"
install_library
"
${
VLC_BUILD_DIR
}
/src/.libs/libvlc.dylib"
${
target_lib
}
"library"
##########################
# Hack for VLC-release.app
if
[
"
$FULL_PRODUCT_NAME
"
=
"VLC-release.app"
]
;
then
install_library
"
${
VLC_BUILD_DIR
}
/.libs/vlc"
"
${
target
}
"
"bin"
"@loader_path/lib"
fi
##########################
# Build the share folder
echo
"Building share folder..."
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment