Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
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-2-2
Commits
26731f23
Commit
26731f23
authored
Jul 23, 2010
by
Felix Paul Kühne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Universal Binary creation skript: updated to the re-worked version from 1.1-bugfix
parent
d4663a4d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
102 additions
and
29 deletions
+102
-29
extras/package/macosx/ub.sh
extras/package/macosx/ub.sh
+102
-29
No files found.
extras/package/macosx/ub.sh
View file @
26731f23
#!/bin/bash
#!/bin/bash
set
-e
# This script allows you to create a Universal Binary of VLC.app. It requires
# This script allows you to create a Universal Binary of VLC.app. It requires
# pre-compiled binaries for Intel-, Intel64- and PowerPC-based Macs; no sources.
# pre-compiled binaries for Intel-, Intel64- and PowerPC-based Macs; no sources.
# PPC64 is not supported right now, but could be added with little effort.
# PPC64 is not supported right now, but could be added with little effort.
# Using different OS X SDKs for both platforms is absolutely fine of course.
# Using different OS X SDKs for both platforms is absolutely fine of course.
...
@@ -9,44 +10,116 @@
...
@@ -9,44 +10,116 @@
# INTELROOT == path to VLC.app compiled on an Intel-based Mac (e.g. jones).
# INTELROOT == path to VLC.app compiled on an Intel-based Mac (e.g. jones).
# INTEL64ROOT == path to VLC.app compiled in 64bit mode (e.g. on jones with -m64).
# INTEL64ROOT == path to VLC.app compiled in 64bit mode (e.g. on jones with -m64).
INTELROOT
=
/Applications/VLC.app
INTEL64ROOT
=
/Users/fpk/VLC-release.app
# PPCROOT == path to VLC.app compiled on a PowerPC-based Mac (e.g. veda).
# PPCROOT == path to VLC.app compiled on a PowerPC-based Mac (e.g. veda).
PPCROOT
=
/Volumes/vlc-1.0.2/VLC.app
#
PPCROOT=/Volumes/vlc-1.0.2/VLC.app
# Note that these roots only require read-access and won't be changed at all.
# Note that these roots only require read-access and won't be changed at all.
# UBROOT == path to a VLC.app bundle which will contain the Universal Binary.
# UBROOT == path to a VLC.app bundle which will contain the Universal Binary.
# Note that you should empty the following folders: lib, modules
# and remove the VLC binary in MacOS
UBROOT
=
/Users/fpk/VLC.app
for
i
in
`
ls
$INTELROOT
/Contents/MacOS/lib/
`
SRCROOT
=
`
dirname
$0
`
/../../..
WD
=
`
pwd
`
cd
$SRCROOT
SRCROOT
=
`
pwd
`
cd
$WD
#############################################
# Config
INTELROOT
=
$SRCROOT
/build32/VLC-release.app
INTEL64ROOT
=
$SRCROOT
/build64/VLC-release.app
# PPCROOT
UBROOT
=
$SRCROOT
/build-fat/VLC.app
#
#############################################
echo
"Creating VLC in
$UBROOT
"
rm
-Rf
$UBROOT
cp
-Rf
$INTEL64ROOT
$UBROOT
LIBS
=
Contents/MacOS/lib
PLUGINS
=
Contents/MacOS/plugins
rm
-Rf
$SRCROOT
/build-fat/VLC.app/
$LIBS
/
*
rm
-Rf
$SRCROOT
/build-fat/VLC.app/Contents/MacOS/VLC
rm
-Rf
$SRCROOT
/build-fat/VLC.app/
$PLUGINS
/
*
function
do_lipo
{
file
=
"
$1
"
files
=
""
echo
"..."
$file
if
[
"x
$PPCROOT
"
!=
"x"
]
;
then
if
[
-e
"
$PPCROOT
/
$file
"
]
;
then
files
=
"
$PPCROOT
/
$file
$files
"
fi
fi
if
[
"x
$INTELROOT
"
!=
"x"
]
;
then
if
[
-e
"
$INTELROOT
/
$file
"
]
;
then
files
=
"
$INTELROOT
/
$file
$files
"
fi
fi
if
[
"x
$INTEL64ROOT
"
!=
"x"
]
;
then
if
[
-e
"
$INTEL64ROOT
/
$file
"
]
;
then
files
=
"
$INTEL64ROOT
/
$file
$files
"
fi
fi
if
[
"x
$files
"
!=
"x"
]
;
then
lipo
$files
-create
-output
$UBROOT
/
$file
fi
;
}
echo
"Installing libs"
for
i
in
`
ls
$INTELROOT
/
$LIBS
/ |
grep
.dylib
`
do
do
echo
$i
do_lipo
$LIBS
/
$i
lipo
$INTELROOT
/Contents/MacOS/lib/
$i
$INTEL64ROOT
/Contents/MacOS/lib/
$i
$PPCROOT
/Contents/MacOS/lib/
$i
-create
-output
$UBROOT
/Contents/MacOS/lib/
$i
done
done
for
i
in
`
ls
$INTELROOT
/Contents/MacOS/modules/
`
echo
"Installing modules"
for
i
in
`
ls
$INTELROOT
/
$PLUGINS
/ |
grep
.dylib
`
do
do
echo
$i
do_lipo
$PLUGINS
/
$i
lipo
$INTELROOT
/Contents/MacOS/modules/
$i
$INTEL64ROOT
/Contents/MacOS/modules/
$i
$PPCROOT
/Contents/MacOS/modules/
$i
-create
-output
$UBROOT
/Contents/MacOS/modules/
$i
done
done
lipo
$INTELROOT
/Contents/MacOS/VLC
$INTEL64ROOT
/Contents/MacOS/VLC
$PPCROOT
/Contents/MacOS/VLC
-create
-output
$UBROOT
/Contents/MacOS/VLC
echo
"Installing VLC"
do_lipo Contents/MacOS/VLC
echo
"Installing Extra modules"
# The following fixes modules, which aren't available on all platforms
# The following fixes modules, which aren't available on all platforms
lipo
$INTELROOT
/Contents/MacOS/lib/libSDL_image.0.dylib
$PPCROOT
/Contents/MacOS/lib/libSDL_image.0.dylib
-create
-output
$UBROOT
/Contents/MacOS/lib/libSDL_image.0.dylib
do_lipo
$LIBS
/libSDL_image.0.dylib
lipo
$INTELROOT
/Contents/MacOS/lib/libSDL-1.3.0.dylib
$PPCROOT
/Contents/MacOS/lib/libSDL-1.3.0.dylib
-create
-output
$UBROOT
/Contents/MacOS/lib/libSDL-1.3.0.dylib
do_lipo
$LIBS
/libtiff.3.dylib
lipo
$INTELROOT
/Contents/MacOS/lib/libjpeg.7.dylib
$PPCROOT
/Contents/MacOS/lib/libjpeg.7.dylib
-create
-output
$UBROOT
/Contents/MacOS/lib/libjpeg.7.dylib
do_lipo
$LIBS
/libtiff.3.dylib
lipo
$INTELROOT
/Contents/MacOS/lib/libtiff.3.dylib
$PPCROOT
/Contents/MacOS/lib/libtiff.3.dylib
-create
-output
$UBROOT
/Contents/MacOS/lib/libtiff.3.dylib
do_lipo
$PLUGINS
/libsdl_image_plugin.dylib
lipo
$INTELROOT
/Contents/MacOS/modules/libsdl_image_plugin.dylib
$PPCROOT
/Contents/MacOS/modules/libsdl_image_plugin.dylib
-create
-output
$UBROOT
/Contents/MacOS/modules/libsdl_image_plugin.dylib
do_lipo
$PLUGINS
/libquartztext_plugin.dylib
lipo
$INTELROOT
/Contents/MacOS/modules/libquartztext_plugin.dylib
$PPCROOT
/Contents/MacOS/modules/libquartztext_plugin.dylib
-create
-output
$UBROOT
/Contents/MacOS/modules/libquartztext_plugin.dylib
do_lipo
$PLUGINS
/libgoom_plugin.dylib
lipo
$INTELROOT
/Contents/MacOS/modules/libgoom_plugin.dylib
$PPCROOT
/Contents/MacOS/modules/libgoom_plugin.dylib
-create
-output
$UBROOT
/Contents/MacOS/modules/libgoom_plugin.dylib
if
[
"x
$INTELROOT
"
!=
"x"
]
;
then
cp
$INTELROOT
/Contents/MacOS/modules/
*
mmx
*
$UBROOT
/Contents/MacOS/modules/
cp
$INTELROOT
/
$PLUGINS
/
*
mmx
*
$UBROOT
/
$PLUGINS
/
cp
$INTELROOT
/Contents/MacOS/modules/
*
sse
*
$UBROOT
/Contents/MacOS/modules/
cp
$INTELROOT
/
$PLUGINS
/
*
3dn
*
$UBROOT
/
$PLUGINS
/
cp
$INTELROOT
/Contents/MacOS/modules/
*
3dn
*
$UBROOT
/Contents/MacOS/modules/
fi
cp
$PPCROOT
/Contents/MacOS/modules/
*
altivec
*
$UBROOT
/Contents/MacOS/modules/
if
[
"x
$INTEL64ROOT
"
!=
"x"
]
;
then
cp
$PPCROOT
/Contents/MacOS/lib/libvlc.dylib
$UBROOT
/Contents/MacOS/lib/
cp
$INTEL64ROOT
/
$PLUGINS
/
*
sse
*
$UBROOT
/
$PLUGINS
/
cp
$PPCROOT
/Contents/MacOS/lib/libvlccore.dylib
$UBROOT
/Contents/MacOS/lib/
fi
if
[
"x
$PPCROOT
"
!=
"x"
]
;
then
# Now, you need to copy the resulting UBROOT bundle into VLC's build directory
cp
$PPCROOT
/Contents/MacOS/modules/
*
altivec
*
$UBROOT
/Contents/MacOS/modules/
cp
$PPCROOT
/Contents/MacOS/lib/libvlc.dylib
$UBROOT
/Contents/MacOS/lib/
cp
$PPCROOT
/Contents/MacOS/lib/libvlccore.dylib
$UBROOT
/Contents/MacOS/lib/
fi
echo
"Copying plugins.dat"
set
+x
if
[
"x
$PPCROOT
"
!=
"x"
]
;
then
cp
$PPCROOT
/
$PLUGINS
/plugins-
*
.dat
$UBROOT
/
$PLUGINS
/
fi
if
[
"x
$INTELROOT
"
!=
"x"
]
;
then
cp
$INTELROOT
/
$PLUGINS
/plugins-
*
.dat
$UBROOT
/
$PLUGINS
/
fi
if
[
"x
$INTEL64ROOT
"
!=
"x"
]
;
then
cp
$INTEL64ROOT
/
$PLUGINS
/plugins-
*
.dat
$UBROOT
/
$PLUGINS
/
fi
# Now, you need to copy the resulting UBROOT bundle into VLC's build directory
# and make sure it is named "VLC-release.app".
# and make sure it is named "VLC-release.app".
# Afterwards, run 'make package-macosx' and follow release_howto.txt in /doc
# Afterwards, run 'make package-macosx' and follow release_howto.txt in /doc
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