Commit 1eff27e0 authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

macosx/framework: Support building multiple vlc tree for multiple archs.

parent e8995677
...@@ -35,7 +35,6 @@ args="--enable-faad $args" ...@@ -35,7 +35,6 @@ args="--enable-faad $args"
args="--enable-flac $args" args="--enable-flac $args"
args="--enable-theora $args" args="--enable-theora $args"
args="--enable-shout $args" args="--enable-shout $args"
args="--enable-cddax $args"
args="--enable-caca $args" args="--enable-caca $args"
args="--enable-vcdx $args" args="--enable-vcdx $args"
args="--enable-twolame $args" args="--enable-twolame $args"
...@@ -48,7 +47,6 @@ args="--disable-ncurses $args" ...@@ -48,7 +47,6 @@ args="--disable-ncurses $args"
args="--disable-httpd $args" args="--disable-httpd $args"
args="--disable-vlm $args" args="--disable-vlm $args"
args="--disable-skins2 $args" args="--disable-skins2 $args"
args="--disable-x11 $args"
args="--disable-glx $args" args="--disable-glx $args"
args="--disable-xvideo $args" args="--disable-xvideo $args"
args="--disable-xcb $args" args="--disable-xcb $args"
...@@ -71,12 +69,26 @@ else ...@@ -71,12 +69,26 @@ else
args="--enable-release $args" args="--enable-release $args"
fi fi
top_srcdir="$SRCROOT/../../.."
# 64 bits switches # 64 bits switches
if test $ARCHS = "x86_64" for arch in $ARCHS; do
then
input="$top_srcdir/configure"
output="$arch/Makefile"
if test -e ${output} && test ${output} -nt ${input}; then
continue;
fi
# Contruct the vlc_build_dir/$arch
mkdir -p $arch
cd $arch
if test $arch = "x86_64"; then
args="--build=x86_64-apple-darwin10 $args" args="--build=x86_64-apple-darwin10 $args"
fi fi
echo "Running configure $args" echo "Running[$arch] configure $args"
top_srcdir="$SRCROOT/../../.." CFLAGS="-arch $arch" CXXFLAGS="-arch $arch" CPPFLAGS="-arch $arch" OBJCFLAGS="-arch $arch" exec $top_srcdir/configure $args
CFLAGS="-arch $ARCHS" CXXFLAGS="-arch $ARCHS" CPPFLAGS="-arch $ARCHS" OBJCFLAGS="-arch $ARCHS" exec $top_srcdir/configure $args cd ..
done
...@@ -25,6 +25,11 @@ if test "${ACTION}" = "release-makefile"; then ...@@ -25,6 +25,11 @@ if test "${ACTION}" = "release-makefile"; then
VLC_SRC_DIR="${src_dir}" VLC_SRC_DIR="${src_dir}"
ACTION="build" ACTION="build"
RELEASE_MAKEFILE="yes" RELEASE_MAKEFILE="yes"
use_archs="no"
main_build_dir="${VLC_BUILD_DIR}"
else
use_archs="yes"
main_build_dir="${VLC_BUILD_DIR}/x86_64"
fi fi
if test "${ACTION}" != "build"; then if test "${ACTION}" != "build"; then
...@@ -118,23 +123,23 @@ vlc_install() { ...@@ -118,23 +123,23 @@ vlc_install() {
########################## ##########################
# Hack for VLC-release.app # Hack for VLC-release.app
if [ "$FULL_PRODUCT_NAME" = "VLC-release.app" ] ; then if [ "$FULL_PRODUCT_NAME" = "VLC-release.app" ] ; then
vlc_install "${VLC_BUILD_DIR}/bin/${prefix}vlc" "${target}" "bin" "@loader_path/lib" vlc_install "${main_build_dir}/bin/${prefix}vlc" "${target}" "bin" "@loader_path/lib"
mv ${target}/vlc ${target}/VLC mv ${target}/vlc ${target}/VLC
chmod +x ${target}/VLC chmod +x ${target}/VLC
elif [ "$FULL_PRODUCT_NAME" = "VLC-Plugin.plugin" ] ; then elif [ "$FULL_PRODUCT_NAME" = "VLC-Plugin.plugin" ] ; then
# install Safari webplugin # install Safari webplugin
vlc_install "${VLC_BUILD_DIR}/projects/mozilla/${prefix}npvlc.${suffix}" "${target}" "library" "@loader_path/lib" vlc_install "${main_build_dir}/projects/mozilla/${prefix}npvlc.${suffix}" "${target}" "library" "@loader_path/lib"
mv ${target}/npvlc.${suffix} "${target}/VLC Plugin" mv ${target}/npvlc.${suffix} "${target}/VLC Plugin"
chmod +x "${target}/VLC Plugin" chmod +x "${target}/VLC Plugin"
else else
vlc_install "${VLC_BUILD_DIR}/bin/${prefix}vlc" "${target}/bin" "bin" "@loader_path/../lib" vlc_install "${main_build_dir}/bin/${prefix}vlc" "${target}/bin" "bin" "@loader_path/../lib"
fi fi
########################## ##########################
# Build the modules folder (Same as VLCKit.framework/modules in Makefile) # Build the modules folder (Same as VLCKit.framework/modules in Makefile)
echo "Building modules folder..." echo "Building modules folder..."
# Figure out what modules are available to install # Figure out what modules are available to install
for module in `find ${VLC_BUILD_DIR}/modules -name *.${suffix}` ; do for module in `find ${main_build_dir}/modules -name *.${suffix}` ; do
# Check to see that the reported module actually exists # Check to see that the reported module actually exists
if test -n ${module}; then if test -n ${module}; then
vlc_install ${module} ${target_modules} "module" vlc_install ${module} ${target_modules} "module"
...@@ -142,7 +147,7 @@ for module in `find ${VLC_BUILD_DIR}/modules -name *.${suffix}` ; do ...@@ -142,7 +147,7 @@ for module in `find ${VLC_BUILD_DIR}/modules -name *.${suffix}` ; do
done done
# Install the module cache # Install the module cache
vlc_install `ls ${VLC_BUILD_DIR}/modules/plugins-*.dat` ${target_modules} "data" vlc_install `ls ${main_build_dir}/modules/plugins-*.dat` ${target_modules} "data"
# Build the modules folder # Build the modules folder
########################## ##########################
...@@ -180,8 +185,8 @@ for linked_lib in ${linked_libs} ; do ...@@ -180,8 +185,8 @@ for linked_lib in ${linked_libs} ; do
esac esac
done done
vlc_install "${VLC_BUILD_DIR}/src/${prefix}libvlc.5.dylib" "${target_lib}" "library" vlc_install "${main_build_dir}/src/${prefix}libvlc.5.dylib" "${target_lib}" "library"
vlc_install "${VLC_BUILD_DIR}/src/${prefix}libvlccore.4.dylib" "${target_lib}" "library" vlc_install "${main_build_dir}/src/${prefix}libvlccore.4.dylib" "${target_lib}" "library"
pushd `pwd` > /dev/null pushd `pwd` > /dev/null
cd ${TARGET_BUILD_DIR}/${FULL_PRODUCT_NAME}/lib cd ${TARGET_BUILD_DIR}/${FULL_PRODUCT_NAME}/lib
ln -sf libvlc.5.dylib libvlc.dylib ln -sf libvlc.5.dylib libvlc.dylib
...@@ -193,7 +198,7 @@ popd > /dev/null ...@@ -193,7 +198,7 @@ popd > /dev/null
echo "Building share folder..." echo "Building share folder..."
pbxcp="/Developer/Library/PrivateFrameworks/DevToolsCore.framework/Resources/pbxcp -exclude .DS_Store -resolve-src-symlinks" pbxcp="/Developer/Library/PrivateFrameworks/DevToolsCore.framework/Resources/pbxcp -exclude .DS_Store -resolve-src-symlinks"
mkdir -p ${target_share} mkdir -p ${target_share}
$pbxcp ${VLC_SRC_DIR}/share/lua ${target_share} $pbxcp ${main_build_dir}/share/lua ${target_share}
########################## ##########################
...@@ -201,7 +206,7 @@ $pbxcp ${VLC_SRC_DIR}/share/lua ${target_share} ...@@ -201,7 +206,7 @@ $pbxcp ${VLC_SRC_DIR}/share/lua ${target_share}
if [ "$FULL_PRODUCT_NAME" = "VLC-release.app" ] ; then if [ "$FULL_PRODUCT_NAME" = "VLC-release.app" ] ; then
echo "Exporting headers..." echo "Exporting headers..."
mkdir -p ${target_include}/vlc mkdir -p ${target_include}/vlc
$pbxcp ${VLC_SRC_DIR}/include/vlc/*.h ${target_include}/vlc $pbxcp ${main_build_dir}/include/vlc/*.h ${target_include}/vlc
else else
echo "Headers not needed for this product" echo "Headers not needed for this product"
fi fi
...@@ -37,8 +37,7 @@ ...@@ -37,8 +37,7 @@
isa = PBXAggregateTarget; isa = PBXAggregateTarget;
buildConfigurationList = 633BD6EC0D2ADF460012A314 /* Build configuration list for PBXAggregateTarget "Setup VLC contribs" */; buildConfigurationList = 633BD6EC0D2ADF460012A314 /* Build configuration list for PBXAggregateTarget "Setup VLC contribs" */;
buildPhases = ( buildPhases = (
633BD6E30D2ADF030012A314 /* bootstrap */, 633BD6E30D2ADF030012A314 /* make */,
633BD6EB0D2ADF280012A314 /* make bin */,
); );
dependencies = ( dependencies = (
); );
...@@ -442,12 +441,9 @@ ...@@ -442,12 +441,9 @@
files = ( files = (
); );
inputPaths = ( inputPaths = (
"$(SRCROOT)/../../../configure.ac",
"$(SRCROOT)/../../../bootstrap",
); );
name = bootstrap; name = bootstrap;
outputPaths = ( outputPaths = (
"$(SRCROOT)/../../../configure",
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh; shellPath = /bin/sh;
...@@ -466,7 +462,7 @@ ...@@ -466,7 +462,7 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "cd $SYMROOT/vlc_build_dir\nmake"; shellScript = "for arch in $ARCHS; do\n\techo \"Make [$arch]\"\n\tcd $SYMROOT/vlc_build_dir/$arch\n\tmake\ndone";
}; };
633754D310ED0D330072A0D9 /* install */ = { 633754D310ED0D330072A0D9 /* install */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
...@@ -486,9 +482,9 @@ ...@@ -486,9 +482,9 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "cd $SYMROOT/vlc_build_dir\ncd src\necho \"Installing libvlc, libvlccore, vlc\"\nmake install --quiet > /dev/null"; shellScript = "for arch in $ARCHS; do\n\tcd $SYMROOT/vlc_build_dir/$arch\n\tcd src\n\techo \"Installing [$arch] libvlc, libvlccore, vlc\"\n\tmake install --quiet > /dev/null\ndone";
}; };
633BD6E30D2ADF030012A314 /* bootstrap */ = { 633BD6E30D2ADF030012A314 /* make */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
...@@ -496,28 +492,13 @@ ...@@ -496,28 +492,13 @@
inputPaths = ( inputPaths = (
$SRCROOT/../../../extras/contrib/bootstrap, $SRCROOT/../../../extras/contrib/bootstrap,
); );
name = bootstrap; name = make;
outputPaths = ( outputPaths = (
$SRCROOT/../../../extras/contrib/config.mak, $SRCROOT/../../../extras/contrib/config.mak,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "if test $ACTION = \"clean\"\nthen\n cd ../../../extras/contrib && make clean\n exit 0\nfi\nif test $ARCHS = \"x86_64\"\nthen\n cd ../../../extras/contrib && ./bootstrap x86_64-apple-darwin10\nelse\n cd ../../../extras/contrib && ./bootstrap\nfi"; shellScript = "cd ../../../extras/contrib\n\nif test $ACTION = \"clean\"\nthen\n make clean\n exit 0\nfi\n\necho \"Building a set of contribs for $ARCHS...\"\necho \"\"\n\nfor arch in $ARCHS; do\n\techo \"Making contribs for $arch\"\n\tif test \"$arch\" = \"x86_64\"; then\n ./bootstrap x86_64-apple-darwin10\n\telse\n ./bootstrap\n\tfi\n\tmake\ndone\n";
showEnvVarsInLog = 0;
};
633BD6EB0D2ADF280012A314 /* make bin */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "make bin";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "if test \"$ACTION\" = \"clean\"; then\n exit 0\nfi\ncd ../../../extras/contrib && make\n";
showEnvVarsInLog = 0; showEnvVarsInLog = 0;
}; };
63FFDBCD0D2AE2AE0092FC96 /* configure */ = { 63FFDBCD0D2AE2AE0092FC96 /* configure */ = {
...@@ -722,32 +703,14 @@ ...@@ -722,32 +703,14 @@
6337547C10ED090B0072A0D9 /* Debug */ = { 6337547C10ED090B0072A0D9 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; PRODUCT_NAME = VLC;
CC = "/Developer/usr/bin/llvm-gcc-4.2";
COPY_PHASE_STRIP = NO;
CXX = "/Developer/usr/bin/llvm-g++-4.2";
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_OBJC_GC = supported;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_VERSION = 4.2;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
OBJC = "/Developer/usr/bin/llvm-gcc-4.2";
ONLY_ACTIVE_ARCH = YES;
PREBINDING = NO;
PRODUCT_NAME = "vlc-make";
SDKROOT = macosx10.5;
}; };
name = Debug; name = Debug;
}; };
6337547D10ED090B0072A0D9 /* Release */ = { 6337547D10ED090B0072A0D9 /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
COPY_PHASE_STRIP = YES; PRODUCT_NAME = VLC;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
PRODUCT_NAME = "Make VLC 2";
ZERO_LINK = NO;
}; };
name = Release; name = Release;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment